将两列CSV文件数据转换为字典

时间:2019-08-06 04:57:29

标签: python csv multiple-columns

我有一个.tsv文件,其中包含两列数据。我想创建一个字典,其中对于每一行,列1的数据将是键,列2的数据将是字典的值。我是python的新手,很难弄清楚它。

我曾尝试使用熊猫,但我无法做到。如果我没有熊猫也可以解决问题。

我无法分离数据的两列,它们汇在一起。

1 个答案:

答案 0 :(得分:0)

在不知道您的问题的全部设置的情况下,我只能提供一个总体思路来为您指明正确的方向,但这是可行的。

要加载CSV文件,最好的选择是Numpy的genfromtxt函数,其文档位于https://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html

假设您的数据存储在某个文件data.csv中。我们可以通过以下几行来提取您的数据。

import numpy as np
labels, values = np.genfromtxt('data.csv', delimiter=',', unpack=True)

这给了我们两个数组,一个数组保存标签信息,另一个数组保存值信息。我可以通过设置unpack=True来做到这一点,它将CSV文件中的数据分成几列。另外,由于这是CSV文件,因此我选择逗号作为条目之间的分隔符。

现在让我们用这些数组创建一个字典。这可以通过简单的for循环来实现。我们可以使用Python的labels函数一前一后地迭代valueszip,这使我们可以执行以下操作:

data_dict = {}
for label, value in zip(labels, values):
    data_dict[label] = value

这将产生一个字典,其中包含与一组标签相关的一组值,而这两个标签都是从CSV文件中提取的。