python - 使用python将CSV文件列直接读入变量名

标签 python csv

我想将 CSV 文件的列直接读入变量。结果应该类似于您使用以下 shell 行获得的结果: 而 IFS=,读取 ColumnName1 ColumnName2 ColumnName3 做事

到目前为止,答案似乎与 csv.DictReader 有关,但我无法使其工作。我没有标题行,因此必须手动创建列名。 (我认为字典的形式是 mydictionary={ 'ColumnName1':0, 'ColumnName2':1, 'ColumnName3':3 } )

此外,列是否可以作为简单的变量名称引用,或者您是否必须使用列表[索引] 样式引用。仅按名称打印列的代码示例会很好。感谢您的帮助。

最佳答案

内置 CSV在处理 csv 文件时,模块非常有用。


哦,没关系,如果您正在查看 DictReader,您一定已经在使用它了。

我处理没有标题的文件的通常方法是读取第一行,解析它的逗号数(以及列数)然后设置我的字典/列表以包含来自csv 文件(使用列数并在我的代码中为每列命名。)如有必要,我可以提供一个示例,它非常简单。


我想我更好地理解了你的问题,这是不是你正在寻找的更多东西?:

mydictionary={ 'ColumnName1':[dataRow1Col1, dataRow2Col1, dataRow3Col1], 
               'ColumnName2':[dataRow1Col2, dataRow2Col2, dataRow3Col2], 
               'ColumnName3':[dataRow1Col3, dataRow2Col3, dataRow3Col3] }

在这种情况下,这样的事情可能会起作用:

import csv
Col1 = "ColumnName1"
Col2 = "ColumnName2"
Col3 = "ColumnName3"
mydictionary={Col1:[], Col2:[], Col3:[]}
csvFile = csv.reader(open("myfile.csv", "rb"))
for row in csvFile:
  mydictionary[Col1].append(row[0])
  mydictionary[Col2].append(row[1])
  mydictionary[Col3].append(row[2])

关于python - 使用python将CSV文件列直接读入变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6351186/

相关文章:

Python:从长格式 pandas 数据帧创建嵌套列表

python - 从网站请求数据不工作/加载 python3

python - 不能 "activate"virtualenv

python - 如果未提供 Content-Length,则使用 python 正确下载文件

Python 从 csv 中删除负数条目/行

python - Pandas:如何从 CSV 文件中读取特定行

javascript - Chrome 扩展 - 将 CSV 文件上传为 Dropbox 格式问题

bash - 如何使用同一列中前一个单元格的数据填充 CSV 中的空单元格?

python - tf.boolean_mask(2D, 2D) 给出 1D 结果

excel - 将 Excel 保存为 csv,使用逗号分隔符而不是分号