在 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 列表,而不是字典 - 我希望尽可能简单。
你可以这样做,但真正的问题是,你应该这样做吗?答案很简单,不。动态变量名是一个麻烦的秘诀,你最好使用字典。它将使您的代码更简单,而不是更复杂。一个简单的做法是:
data['xx'][0]
使用该csv
模块加载您的数据,然后构建一个字典。这可以是一个简单的字典理解:
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,您将需要按照 .x 行做更多的事情{line[0]: line[1:] for line in reader}
。
您应该从查看 Python 的csv库开始。