到目前为止,我的代码是在一个基本上读取 csv 文件并打印其内容的函数中:
def read(filename):
with open(filename, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print(row)
sailor.csv
的内容:
name, mean performance , std dev
Alice, 100, 0,
Bob, 100, 5,
Clare, 100, 10,
Dennis, 90, 0,
Eva, 90, 5,
读取('sailor.csv')
并运行函数
当前输出:
['name', ' mean performance ', ' std dev']
['Alice', ' 100', ' 0', '']
['Bob', ' 100', ' 5', '']
['Clare', ' 100', ' 10', '']
['Dennis', ' 90', ' 0', '']
['Eva', ' 90', ' 5', '']
要求的输出:
{'Dennis': (90.0, 0.0), 'Clare':(100.0, 10.0),
'Eva': (90.0, 5.0), 'Bob': (100.0, 5.0), 'Alice': (100.0, 0.0)}
有什么想法可以实现该输出吗?如果有帮助,请使用 Python 3.4.2,感谢您对答案的解释!
最佳答案
使用csv
标准库和字典理解...
import csv
with open('sailor.csv') as csvfile:
reader = csv.reader(csvfile)
next(reader)
d = {r[0] : tuple(r[1:-1]) for r in reader}
d
将是您想要的字典。 d[1:-1]
将数组从第二个元素切片到倒数第二个元素。
编辑:跳过标题,转换为元组
关于python - 将 CSV 文件的内容转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393165/