首页 > 编程语言 >实验5 文件应用编程

实验5 文件应用编程

时间:2023-06-06 21:45:52浏览次数:37  
标签:文件 open encoding data 编程 len 实验 print data1

实验任务6

 1 with open('data6.csv','r',encoding='gbk') as f:
 2     data1 = f.read().split('\n')
 3 del data1[0]
 4 for i in range(len(data1)):
 5     data1[i] = eval(data1[i])
 6     data1[i] = float(data1[i])
 7 print('原始数据:')
 8 print(data1)
 9 data2 = []
10 for i in range(len(data1)):
11     data2.append(int(data1[i]+0.5))
12 print('四舍五入后数据:')
13 print(data2)
14 for i in range(len(data1)):
15     data1[i] = str(data1[i])
16 for i in range(len(data1)):
17     data2[i] = str(data2[i])
18 title = ['原始数据','四舍五入后数据']
19 info = []
20 for i in range(len(data1)):
21     info.append([data1[i],data2[i]])
22 with open('data6_processed.csv','w',encoding='utf-8') as f:
23     f.write(','.join(title)+'\n')
24     for item in info:
25         f.write(','.join(item)+'\n')

 

 

实验任务7

 1 with open('data7.csv','r',encoding='gbk') as f:
 2     data1 = f.read().split('\n')
 3 del data1[0]
 4 lsta = []
 5 lstm = []
 6 for i in data1:
 7     lst1 = i.split(',')
 8     if lst1[2] == 'Acting':
 9         lsta.append(lst1)
10     else:lstm.append(lst1)
11 lstm.sort(key=lambda x:x[-1],reverse = True)
12 lsta.sort(key=lambda x:x[-1],reverse = True)
13 info = lsta + lstm
14 title = ['学号','姓名','专业','分数']
15 with open('data7_processed.csv','w',encoding='utf-8') as f:
16     f.write(','.join(title)+'\n')
17     for items in info:
18         f.write(','.join(items)+'\n')
19 print('{:<10}'.format(title[0]),'{:<10}'.format(title[1]),'{:<10}'.format(title[2]),'{:<15}'.format(title[3]))
20 for i in info:
21     print('{:<10}'.format(i[0]),'{:<10}'.format(i[1]),'{:<10}'.format(i[2]),'{:<15}'.format(i[3]))

 

 

实验任务8

 1 lines = 0
 2 words = 0
 3 sum1 = 0
 4 space = 0
 5 with open('hamlet.txt','r',encoding='utf-8') as f:
 6     for line in f:
 7         word = line.split()
 8         lines += 1
 9         words += len(word)
10         sum1 += len(line)
11         for i in line:
12             if i == ' ':
13                 space += 1
14             else:
15                 pass
16 print('hamlet.txt粗滤统计:')
17 print(f'行数:{lines}')
18 print(f'单词数:{words}')
19 print(f'字符数:{sum1}')
20 print(f'空格数:{space}')
21 
22 with open('hamlet.txt','r',encoding = 'utf-8') as f:
23     text = f.readlines()
24 
25 for i in range(len(text)):
26     text[i] = str(i+1) + ' ' + text[i]
27 
28 with open('hamlet_with_line_number.txt','w',encoding = 'utf-8') as f:
29     f.writelines(text)

 

 

实验任务9

 1 def is_valid(sfz):
 2     if len(sfz) != 18:
 3         return False
 4     elif (sfz[:-1].isnumeric() and sfz[-1] == 'X') or sfz.isnumeric():
 5         return True
 6     else:return False
 7 
 8 
 9 with open('data9_id.txt','r',encoding='utf-8') as f:
10     data = f.read().split('\n')
11 del data[0]
12 data2 = []
13 data3 =[]
14 print('姓名,出生日期,年龄')
15 for i in data:
16     lst = i.split(',')
17     data2.append(lst)
18 lst2 = []
19 for i in data2:
20     if is_valid(i[1]) == True:
21         name = i[0]
22         btd = i[1][6:14]
23         age = str(2023 - int(i[1][6:10]))
24         lst2.append([name,btd,age])
25 lst2.sort(key=lambda x:x[2],reverse=True)
26 for i in lst2:
27     print(i[0],end=',')
28     print(f'{i[1][:4]}-{i[1][4:6]}-{i[1][6:8]}',end=',')
29     print(i[2])

 

 

实验任务10

task10_1.py

 1 with open('data10_stu.txt','r',encoding='utf-8') as f:
 2     data = f.readlines()
 3 print('{:*^40}'.format('抽点开始'))
 4 n = int(input('输入随机抽点人数:'))
 5 import random
 6 x = []
 7 x2 = ''
 8 counts = 0
 9 while counts < n:
10     new = random.randint(0, len(data) - 1)
11     if new in x:
12         new = random.randint(0, len(data) - 1)
13     else:
14         counts +=1
15         x.append(new)
16 sum1 = 0
17 for i in range(n):
18     print(data[x[i]])
19     x2 += data[x[i]]
20     sum1 += n
21 with open('20230606.txt','w',encoding='utf-8') as f:
22     f.writelines(x2)

 

task10_2.py

 1 with open('data10_stu.txt','r',encoding='utf-8') as f:
 2     data = f.readlines()
 3 print('{:*^40}'.format('抽点开始'))
 4 n = int(input('输入随机抽点人数:'))
 5 import random
 6 x = []
 7 sum1 = 0
 8 x2 = ''
 9 while n != 0:
10     counts = 0
11     while counts < n:
12         new = random.randint(0, len(data) - 1)
13         if new in x:
14             new = random.randint(0, len(data) - 1)
15         else:
16             counts +=1
17             x.append(new)
18     for i in range(sum1,sum1+n):
19         print(data[x[i]])
20         x2 += data[x[i]]
21     sum1 += n
22     n = int(input('输入随机抽点人数:'))
23 
24 with open('20230606.txt','w',encoding='utf-8') as f:
25     f.writelines(x2)
26 
27 print('{:*^40}'.format('抽点结束'))

 

标签:文件,open,encoding,data,编程,len,实验,print,data1
From: https://www.cnblogs.com/xq040718/p/17461796.html

相关文章

  • RDS 、HDFS、 mapreduce 、spark 、hive、 hbase 、zookeeper 、kafka 、flume、mysql
    这些技术是大数据领域的常用组件,它们之间的配置文件依赖关系如下:RDS是一种关系型数据库,可以独立安装和使用,不需要依赖其他组件。HDFS是Hadoop分布式文件系统,通常与MapReduce一起使用。在Hadoop集群中,HDFS需要配置core-site.xml和hdfs-site.xml两个文件,其中core-site......
  • C语言编程语法—文件读写
    一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。打开文件您可以使用fopen()函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型FIL......
  • 实验6 turtle绘图与python库应用编程体验
    实验任务1task1_1fromturtleimport*defmoveto(x,y):'''画笔移动到坐标(x,y)处'''penup()goto(x,y)pendown()defdraw(n,size=100):'''绘制边长为size的正n边形'''for......
  • 实验5
    1withopen('data6.csv','r',encoding='gbk')asf:2data1=f.read().split('\n')3deldata1[0]4print('原始数据:')5print(data1)67foriinrange(len(data1)):8data1[i]=float(data1[i]......
  • 实验5 文件应用编程
    实验任务6task6#读取并处理原始数据withopen('data6.csv','r',encoding='gbk')asf:old_data=f.read().split('\n')delold_data[0]#四舍五入得到新数据new_data=[]foriinrange(len(old_data)):ifeval(old_data[i])+flo......
  • 实验5
    实验任务6task6.py1withopen('data6.csv','r',encoding='gbk')asf:2data1=f.read().split('\n')3deldata1[0]4print('原始数据:')5print(data1)67foriinrange(len(data1)):8data1[i]......
  • 第五节 5with管理文件操作上下文
    在Python中,进行文件操作时,需要打开文件、读写文件、关闭文件等过程。如果代码有错误或者忘记关闭文件就会导致程序出错或文件资源泄露问题。为了更方便、更安全地进行文件操作,Python提供了with语句来管理文件的操作上下文。使用with语句可以确保在任何情况下,文件都会被正确地关闭......
  • 使用ffmpeg合并两个音频文件
    #寻找指定路径下所有的wav文件find$filePath-iname"*.wav">wav.flist#依次取出每个wav文件,与test.wav进行合并forlinein`catwav.flist`doecho$lineffmpeg-ipath/to/test.wav-i$line-filter_complex"[0:a]volume=1,atrim=1:4[a1];[1:a]volume=0.5[a......
  • 特殊文件:XML的解析
            ......
  • 特殊文件:XML的创建
       ......