对于 csv,目标是为 csv 中的每一列创建一个列表,忽略第一行,即标题行。
var_a var_b
a 1
b 2
c 3
listA = [var_a] = ['a','b','c']
listB = [var_b] = [1,2,3]
现在,我唯一的解决方案是创建一个空列表并按位置迭代 csv 位置并将其附加到这些空列表中。
最佳答案
如果你有足够的内存,你可以得到更多的优雅:
with open('the.csv') as f:
next(f)
list_of_rows = list(csv.reader(f))
listA = [row[0] for row in list_of_rows]
listB = [int(row[1]) for row in list_of_rows]
但它与你所说的现在所做的并没有太大不同——只是更优雅一点。
(在您的示例中,第二列以某种方式给出了 int
列表,而第一列给出了 str
列表 - 没有黑魔法可以做 <强>那个,要么,所以我在需要的地方明确使用了int
)。
关于python - 将每一列作为自己的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29247221/