我在尝试使用csv.DictReader读取我的.txt文件中的第一个以分隔管道划分的数据时。以下是我正在使用的数据示例:
someCSVfile.csv|cust_no,0|streetaddr,1|city,2|state,3|zip,4|phone_home,5|firstname,6|lastname,7|status,9|
someCSVfile1.csv|cust_no,0|streetaddr,1|city,2|state,3|zip,4|phone_home,5|firstname,6|lastname,7|status,9|
到目前为止,这是我的代码:
import csv
reader = csv.reader(open('match_log.txt','rb'), dialect='excel', delimiter='|')
for row in reader:
skipfirstRow=reader.next()
skipfirstRowAgain=reader.next()
Dictreader=csv.DictReader(reader,skipfirstRow)
print row
我已经非常彻底地研究.next(),但这似乎并不奏效。当我打印行时,它会打印每一行,当我不想要打印第一行(.csv文件)时。还有其他可行的方法吗?
编辑:这是我的最新代码:
import csv
reader = csv.reader(open('match_log.txt','rb'), dialect='excel', delimiter='|')
data = {}
for row in reader:
filenameVariable = row[0]
data = dict(item.split(',') for item in row[1:])
print data
print filenameVariable
现在,当我需要所有行时,data和filenameVariable正在打印最后一行。我试过.append但是没有用。我还能用什么呢?
答案 0 :(得分:2)
.csv
部分是第一列/字段,而不是第一行。推进reader
确实会跳过行,但不会影响每一行中的内容。 (行遍!)
如果您想取消序列中的第一项,请打印row[1:]
而不是row
。