【发布时间】:2013-11-10 14:52:52
【问题描述】:
将 csv 文件的内容作为列表检索的最佳和最优雅的方法是什么?请注意,国家、地区和人口等必填列将在下面的程序中自动识别。
with open ('data.csv','r') as infile:
contents = infile.read().split(',')
with open ('data.csv','r') as infile:
countries = [item.split(',')[contents.index('Country')] for item in infile]
with open ('data.csv','r') as infile:
areas = [item.split(',')[contents.index('Area')] for item in infile]
with open ('data.csv','r') as infile:
populations = [item.split(',')[contents.index('Population')] for item in infile]
print (countries)
print (areas)
print (populations)
上述程序有效,但正在寻找非常简短易读的程序。
更新: 为了防止在某些文件中不存在某些列(例如“国家”)时出现错误,可以通过以下方式改进程序:
countries = [item.split(',')[contents.index('Country')] for item in infile if 'Country' in contents]
如何使用 csv 模块完成?
【问题讨论】:
-
你试过csv module吗?
标签: python csv python-3.x