ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CSV文件处理

2022-05-25 08:32:57  阅读:181  来源: 互联网

标签:文件 csv 处理 item reader 2017 CSV data line


#csv文件:使用纯文本来存储表格数据 并以分隔符进行分隔
#1.导入模块 import csv
#2.打开文件 创建csv对象
# f=open(fname)
# csvf=csv.reader(f)
#3.for row in csvf: print(row)
#4.关闭文件 f.close()
# import csv
# fname=r'wwwq/csv'
# f=open(fname)
# csv.reader =csv.reader(f)
# for row in csv.reader:
# print(row)
# #csv文件写入
#按行写入
import csv
fwpath=r'D:\Python学习\day1\t1.csv'
f=open(fwpath,'w')
csv_w = csv.writer(f)
line = [1,2,3,4,5]
line2 = '1,2,3,5,5'
# csv_w.writerow(line) #单行写入
csv_w.writerows(line2) #多行写入
f.close()

#字段+内容 以字典方式写入
fwpath=r'D:\Python学习\day1\t2.csv'
colname = ['year','date','name','age']
f=open(fwpath,'w')
csv_dictw=csv.DictWriter(f,fieldnames=colname)
csv_dictw.writeheader()
line = dict(zip(colname,['2020','212','sun',19]))
csv_dictw.writerow(line)
f.close()

#数据量大csv文件处理
fwpath=r'D:\Python学习\day1\t2.csv'
f=open(fwpath)
csv_reader = csv.DictReader(f)
data=[]
for line in csv_reader:
data.append(line)
print(data) #[OrderedDict([('year', '2020'), ('date', '212'), ('name', 'sun'), ('age', '19')])]
print(len(data))

#找2017年有多少个地区
regin_2017=[item.get('regin') for item in data if item.get('year') == '2017']

#各个地区按照2017年按出生率排序
#找出2017的数据
data_2017= [item for item in data if item.get('year') == '2017']
def func(item):
return float(item.get('birth_rate'))
data_2017.sort(key=func,reverse=True)

#2017年平均出生率 增长率 死亡率
birth_data= [float(item.get('birth_rate',0)for item in data_2017)]
round(sum(birth_data)/len(birth_data),2)

标签:文件,csv,处理,item,reader,2017,CSV,data,line
来源: https://www.cnblogs.com/zhangcaiwang1/p/16307956.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有