尝试拆分csv输出的行

时间:2015-08-26 19:03:19

标签: python csv

现在我正在将一些数据写入csv文件。我直接将列表写入csv文件的一行,如下所示:

with open("files/data.csv", "wb") as f_csv:
    writer = csv.writer(f_csv,delimiter = ',')
    writer.writerow(flux_inteplt)        ## here flux_inteplt is a list

但是当我读到如下数据时:

with open('files/data.csv','rb') as csvfile:
    reader = csv.reader(csvfile, delimiter=' ')
    for row in reader:
        parts = row.split(",")
        print parts[0]

它有一些问题AttributeError: 'list' object has no attribute 'split'

有没有人知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

行已经是list,当你遍历阅读器对象时,你得到一个由你传递的分隔符分割的值列表,只需使用每一行:

for row in reader:
   print row[0] # first element from each row

如果您使用逗号分隔值,请使用delimiter=','而非delimiter=' ',这取决于您在撰写时使用csv.writer(f_csv,delimiter = ',')的事实。在写入时传递的分隔符是用于从输入迭代中分隔每个元素的分隔符,因此在读取时,如果要获得相同的输出,则需要使用相同的分隔符。

答案 1 :(得分:1)

import csv
with open('us-cities.csv','rb') as csvfile:
reader = csv.reader(csvfile, delimiter=' ')
for row in reader:
    str1 = ''.join(row) #Convert list into string
    parts = str1.split(",")
    print parts[0]

答案 2 :(得分:0)

行已经是一个列表。无需拆分(: