我想将CSV文件的列直接读入变量.结果应该与下面的shell行相似:IFS =,读取ColumnName1 ColumnName2 ColumnName3做东西
到目前为止答案似乎是csv.DictReader,但我无法使其工作.我没有标题行,因此必须手动创建列名.(我想用字典mydictionary = {'ColumnName1':0,'ColumnName2':1,'ColumnName3':3})
此外,列可以作为简单变量名引用,还是必须使用list [index]样式引用.只是按名称打印列的代码示例会很好.谢谢您的帮助.
使用csv文件时,内置CSV模块非常有用.
哦,没关系,你必须使用它,如果你正在看DictReader.
我处理没有标题的文件的常用方法是读取第一行,解析它的逗号数(以及列数)然后设置我的字典/列表以包含csv文件中的值(使用列数并在我的代码中为每列提供一个名称.)如果需要,我可以提供一个例子,它非常简单.
我想我更了解你的问题,这更像你在寻找什么?:
mydictionary={ 'ColumnName1':[dataRow1Col1, dataRow2Col1, dataRow3Col1],
'ColumnName2':[dataRow1Col2, dataRow2Col2, dataRow3Col2],
'ColumnName3':[dataRow1Col3, dataRow2Col3, dataRow3Col3] }
Run Code Online (Sandbox Code Playgroud)
在这种情况下,这样的事情可能会起作用:
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])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46913 次 |
| 最近记录: |