我有一个.tsv文件,其中包含两列数据。我想创建一个字典,其中对于每一行,列1的数据将是键,列2的数据将是字典的值。我是python的新手,很难弄清楚它。
我曾尝试使用熊猫,但我无法做到。如果我没有熊猫也可以解决问题。
我无法分离数据的两列,它们汇在一起。
答案 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
函数一前一后地迭代values
和zip
,这使我们可以执行以下操作:
data_dict = {}
for label, value in zip(labels, values):
data_dict[label] = value
这将产生一个字典,其中包含与一组标签相关的一组值,而这两个标签都是从CSV文件中提取的。