Python – 如何使用列标题从CSV数据文件创建字典
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python – 如何使用列标题从CSV数据文件创建字典,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含957字,纯文字阅读大概需要2分钟。
内容图文
![Python – 如何使用列标题从CSV数据文件创建字典](/upload/InfoBanner/zyjiaocheng/751/249ef6106ae1449dbcf9be7f92334e0a.jpg)
我试图创建一个函数,接受.csv数据文件的名称和表示该文件中的列标题的字符串列表,并返回一个dict对象,每个键是一个列标题,相应的值是一个numpy数组数据文件的该列中的值.
我的代码现在:
def columndata(filename, columns):
d = dict()
for col in columns:
with open(filename) as filein:
reader = csv.reader(filein)
for row in reader:
if col in row:
d.append(row)
return d
示例CSV如下所示:
test1,test2
3,2
1,5
6,47
1,4
列文件如下所示:
cols = ['test1', 'test2']
最终结果应该是这样的字典:
{'test1':[3,1,6,1], 'test2':[2, 5, 4, 4]}
解决方法:
您可以使用DictReader将CSV数据解析为dict:
import csv
from collections import defaultdict
def parse_csv_by_field(filename, fieldnames):
d = defaultdict(list)
with open(filename, newline='') as csvfile:
reader = csv.DictReader(csvfile, fieldnames)
next(reader) # remove header
for row in reader:
for field in fieldnames:
d[field].append(float(row[field])) # thanks to Paulo!
return dict(d)
print(parse_csv_by_field('a.csv', fieldnames=['cattle', 'cost']))
内容总结
以上是互联网集市为您收集整理的Python – 如何使用列标题从CSV数据文件创建字典全部内容,希望文章能够帮你解决Python – 如何使用列标题从CSV数据文件创建字典所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。