python - 将每一列作为自己的列表

标签 python list csv

对于 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/

相关文章:

Java 集合和映射

python - 如何避免 for 循环并正确迭代 pandas 数据框?

python - 在C++中找到满足给定条件的 vector 元素的位置

python - 如何使用多个显卡运行 pytorch?

python - Python 中用于匹配文件夹中文件的正则表达式

c# - 如何将新属性添加到 C# 列表中的每个列表项

python - 检查嵌套列表是否在特定索引处具有和不具有值的优雅方法是什么?

python - 从 CSV 输出字符串与列表的问题

python - Bigquery 加载时间戳时出错

python - 使用 Python 包装的 C++ 类进行并行计算 : performing operations in every element of a vector