【发布时间】:2015-02-17 06:56:03
【问题描述】:
我正在寻找读取 CSV 文件并在 Python 中创建一个对象来存储大型数据集。数据位于 CSV 文件中(带有标题),每行中的前两个条目代表 X、Y 坐标。稍后在程序中,我将对每个 X、Y 坐标的数据进行排序和操作。
这里是示例数据:
x, y, field1, field2, field3
1, 2, 10, 20, 30
1, 2, 20, 30 40
7, 4, 2, 49, 39
我认为我想由此创建的对象如下所示:
位置,价值观
(1,2) => {field1=10,field2=20,field3=30},{field1=20,field2=30,field3=40}
(7,4) => {field1=2,field2=49,field3=39}
这是带有元组键的字典中的字典吗?我一直在网上搜索这方面的一个例子,但找不到它。这样处理数据有意义吗?
到目前为止,我一直在尝试将数据放入一个字典中,但我遇到了麻烦。下面的代码只打印标题:
import csv
import sys
dict={}
with open('data.csv') as file:
data = csv.reader(file)
headers = next(data)[0:]
length = len(headers)
for row in data:
for i in range(length):
dict[headers[i]]=row[i]
for x in dict:
print x
【问题讨论】:
-
你所拥有的将是一本带有字典列表的字典。例如
{(1,2):[{'field1':10,'field2':20},{'field1':20,'field2':30}], {(7,4):[{'field1':2,'field2':49}]
标签: python csv dictionary tuples