在Python中,如果我将列表定义为 xx = [1,2,3,4] 那么我可以将那个(向量)中的数据引用为xx [0]并得到1,xx [1]并获得2等等。
如果我有一个拥有csv的数据文件...数据文件是 - > XX,1,2,3,4 有没有办法让我读取数据文件,并使数据文件(xx)的第一个元素成为[1,2,3,4]的向量名称?我希望能够将xx [0]视为1,将xx [1]视为2,等等。
这是所有Python列表,而不是字典 - 我希望尽可能简单。
答案 0 :(得分:1)
你可以这样做,但真正的问题是,你呢?答案很简单,不是。动态变量名称是一个麻烦的方法,你最好使用字典。它将使您的代码更简单,而不是更复杂。一个人就是:
data['xx'][0]
使用the csv
module加载数据,然后构建字典。这可以是一个简单的dictionary comprehension:
with open('data.csv') as file:
reader = csv.reader(file)
data = {key: values for key, *values in reader}
如果您确实需要订单,那么您可以使用collections.OrderedDict
来完成这项工作。
data = collections.OrderedDict((key, values) for key, *values in reader)
请注意,这种优秀的解包语法仅适用于3.x,因此对于2.x,您需要执行更多{line[0]: line[1:] for line in reader}
行。
答案 1 :(得分:0)
您应该首先查看Python的csv库。