从一个csv文件中选择特定列并在python中写入另一个列时出错

时间:2015-09-08 02:41:13

标签: python csv

我有一个大约60列的csv文件。我想选择列211,然后选择从25开始到最后一列的所有列。我写了这个简短的代码,但这给了我错误:TypeError: cannot concatenate 'str' and 'list' objects

file_read = open('file1.csv', mode='r')
file_write = open('file2.csv', mode ='w')
reader = csv.reader(file_read)
writer = csv.writer(file_write)

for row in reader:

    writer.writerow(row[2] + row[11] + row[25:])

file_write.close()

我知道它是因为使用row[25:]和其他特定列,但我怎么能写这个呢?

PS:请原谅我在python中缺乏理解,因为我正在学习它

1 个答案:

答案 0 :(得分:2)

row[25:]是一个列表 - 来自row列表的切片,row[2]row[11]是字符串 - 这就是您获得TypeError: cannot concatenate 'str' and 'list' objects的原因。

相反,“连接”列表:

writer.writerow([row[2]] + [row[11]] + row[25:])