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

实验五 文件应用编程

时间:2023-06-07 12:22:26浏览次数:62  
标签:文件 lst1 encoding open 编程 lst 实验 print data

task6

with open('data6.csv','r',encoding='gbk') as f:
    data=f.readlines()

data.remove('原始数据\n')
data0=[]
for i in data:
    if i[-1]=='\n':
        i=i[:-1]
    data0.append(float(i))
print('原始数据:')
print(data0)

data1=[int(i+0.5) for i in data0]
print('四舍五入后数据:')
print(data1)

with open('data6_processed.csv','w',encoding='gbk') as f:
    f.write('原始数据,四舍五入后数据\n')
    for i in range(len(data1)):
        f.write(str(data0[i])+','+str(data1[i])+'\n')

task7

with open('data7.csv','r',encoding='gbk') as f:
    data1 = f.read().split('\n')
del data1[0]
lsta = []
lstm = []
for i in data1:
    lst1 = i.split(',')
    if lst1[2] == 'Acting':
        lsta.append(lst1)
    else:lstm.append(lst1)
lstm.sort(reverse = False)
lsta.sort(reverse = False)
info = lsta + lstm
title = ['学号','姓名','专业','分数']
with open('data7_processed.csv','w',encoding='utf-8') as f:
    f.write(','.join(title)+'\n')
    for items in info:
        f.write(','.join(items)+'\n')
print('{:<10}'.format(title[0]),'{:<10}'.format(title[1]),'{:<10}'.format(title[2]),'{:<15}'.format(title[3]))
for i in info:
    print('{:<10}'.format(i[0]),'{:<10}'.format(i[1]),'{:<10}'.format(i[2]),'{:<15}'.format(i[3]))

task8

with open('hamlet.txt','r',encoding = 'gbk') as f:
    lst = f.readlines()
    a = len(lst)
    print('hamlet.txt粗略统计:')
    print('行数:',a)
    lst0 = []
    for k in lst:
        lst0 += k.split(' ')
    e = len(lst0)
    print('单词数:',e)
    lst1 = []
    for i in lst:
        lst1 += list(i)
    b = len(lst1)
    print('字符数:',b)
    c = lst1.count(' ')
    print('空格数:',c)
with open('hamlet_with_line_number.txt','w',encoding = 'gbk') as f:
    for t in range(len(lst)):
        text = lst[t]
        f.write(f'{t+1} {text}')

task9

def is_valid(sfz):
    if len(sfz) != 18:
        return False
    elif (sfz[:-1].isnumeric() and sfz[-1] == 'X') or sfz.isnumeric():
        return True
    else:return False


with open('data9_id.txt','r',encoding='utf-8') as f:
    data = f.read().split('\n')
del data[0]
data2 = []
data3 =[]
print('姓名,出生日期,年龄')
for i in data:
    lst = i.split(',')
    data2.append(lst)
lst2 = []
for i in data2:
    if is_valid(i[1]) == True:
        name = i[0]
        btd = i[1][6:14]
        age = str(2023 - int(i[1][6:10]))
        lst2.append([name,btd,age])
lst2.sort(key=lambda x:x[2],reverse=True)
for i in lst2:
    print(i[0],end=',')
    print(f'{i[1][:4]}-{i[1][4:6]}-{i[1][6:8]}',end=',')
    print(i[2])

task10

with open('data10_stu.txt','r',encoding='utf-8') as f:
    data = f.readlines()
print('{:*^40}'.format('抽点开始'))
n = int(input('输入随机抽点人数:'))
import random
x = []
x2 = ''
counts = 0
while counts < n:
    new = random.randint(0, len(data) - 1)
    if new in x:
        new = random.randint(0, len(data) - 1)
    else:
        counts +=1
        x.append(new)
for i in range(n):
    print(data[x[i]])
    x2 += data[x[i]]
    sum1 += n
with open('20230602.txt','w',encoding='utf-8') as f:
    f.writelines(x2)

 

标签:文件,lst1,encoding,open,编程,lst,实验,print,data
From: https://www.cnblogs.com/myt1/p/17457378.html

相关文章

  • 如何从抓包文件中分析慢请求
    请求慢的原因很多,当出现前端反应接口慢时,而通过后端日志查看请求处理时间并不慢时,往往会手足无措,当面对网络问题出现手足无措时,这就是在提醒你该抓包分析了,那么一般如何根据抓包文件去分析慢请求呢,今天我们就来看看。抓包文件分析准备用我在测试环境抓到的包去进行分析,首先执行抓......
  • nginx 文件下载conf
    server{listen8088;server_namelocalhost;gzipon;gzip_staticon;#需要http_gzip_static_module模块gzip_min_length1k;gzip_comp_level4;gzip_proxiedany;gzip_typestext/plaintext/xmltext/css;gzip_varyon;gzip_dis......
  • 关于文件处理中的文件指针调动操作 fseek( )
    #include<stdio.h>fseek(FILE*STREAM,    LONGOFSET,    INTORIGIN);      文件指针/文件流   偏移量            起始位置 FILE*fp;1.将文件指针从文件开头向右移动n个字节,fseek(fp, n, SEEK_SET)  ......
  • 实验7 面向对象编程与内置模块
    task1classAccount:def__init__(self,name,account_number,initial_amount=10):self._name=nameself._card_no=account_numberself._balance=initial_amountdefdeposit(self,account):self._balance+=accountdefwit......
  • STM32F429 Discovery开发板应用:实现SPI-SD Card文件写入(搭载FatFS文件系统)
    MCU:STM32F429ZIT6开发环境:STM32CubeMX+MDK5 外购了一个SPI接口的SDCard模块,想要实现SD卡存储数据的功能。首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。 此时,双击完后会关闭此界面,然后打开一个新界面。 ......
  • 实验5
    task6源代码:importcsvtitle=['原始数据','四舍五入后的数据']lst=[]yuan_lst=[]hou_lst=[]withopen('data6.csv','r')asf:read_lst=f.readlines()foriinrange(1,len(read_lst)):y=float(read_l......
  • 实验7 面向对象编程与内置模块
    实验任务1task1.py1classAccount:23def__init__(self,name,account_number,initial_amount=10):4self._name=name5self._card_no=account_number6self._balance=initial_amount7defdeposit(self,amount):......
  • 转载:PageOffice动态生成Word文件并转换为PDF
    说明:PageOffice是客户端插件,做不到纯后台调用把word转为pdf。但是pageoffice的FileMaker对象可以实现不在客户端打开文件直接转换文件为pdf并保存到服务器端,看起来跟服务器端转换的效果一样。1、环境前端:vue后端:springboot、pageoffice5.4.0.3版本2、前端在index.vue页面定......
  • tar打包文件排除项使用
    1、exclude排除参数使用tar-Pczf/tmp/data.tar.gz/data--exclude*.jar--exclude*.war--exclude=/data/jenkins2、注意项a、排除目录需要使用绝对路径b、如果在crontab中使用需要加上转义斜杠,不然排除不生效。如下所示:tar-Pczf/tmp/data.tar.gz/data--excl......
  • liunx查找并删除历史文件
    find路径-mtime+天数-typef-name"文件名"-execrm-rf{};find/tmp-mtime+30-typef-name"*"-execrm-rf{}\;/tmp--设置查找的目录;-mtime+30--设置修改时间为30天前;-typef--设置查找的类型为文件;其中f为文件,d则为文件夹-name"*"--设置文件名称,可......