我正在尝试获取给定的 csv 文件并将第一列定义为键,而每个键指的是一个包含 2 个值的数组,其中一个值在第二列中,另一个值在第三列中。最后,无法将列切换为行,反之亦然,因为我必须处理每个 csv 中的数百行。当我在网上查找时,我能找到的唯一帮助是使用行语法,有什么方法可以处理列吗?
这是我尝试的代码:
import csv
reader = csv.reader(open('test.csv'))
result = {}
for row in reader:
key = column0
if key in result:
pass
result[key] = column1 and column2
print result
我正在测试的 csv (test.csv):
g1_and_g2, 0.04286547, -1.45
g2_and_g2, 0.12348197, 3.00
g3_and_g4, 0.03125879, 1.89
当我在终端中运行程序时,出现错误:
NameError: name 'g1_and_g2' is not defined
我是编程的新手,所以非常感谢您提供的任何帮助。谢谢!
编辑以添加更多信息: 预期的输出应该只是一个像这样的字典:
g1_and_g2: 0.04286547,-1.45
g2_and_g2: 0.12348197, 3.00
g3_and_g4: 0.03125879, 1.89
所以本质上,第一列中的字符串应该是键,后两列中的整数应该是与该行中的键关联的值。
此外,我正在运行 python 2.7
最佳答案
通过阅读您的描述,我了解到您的目标是打开一个 csv 文件,其中每行的第一项是列标题/键,后续项是与该键对应的行中单元格的值。然后您想将所有这些加载到字典中吗?
如果该规范是正确的,这应该会做一些您正在寻找的事情。
import csv
with open('test.csv', "r") as f:
reader = csv.reader(f)
result = {}
for row in reader:
key = row[0]
result[key] = row[1:]
print(result)
关于python - 在 python 中,如何将 CSV 文件的列写入字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297349/