使用Python删除或删除CSV文件中的最后一列使用Python
问题描述:
我有一个包含5列的CSV文件。使用Python,我如何删除最后一列(例子中的header5)?有没有一种简单的方法,我错过了,或者我必须遍历CSV中的所有行,并从最后一列中删除每个值(这仍然可能会留下不想要的前面的逗号)?使用Python删除或删除CSV文件中的最后一列使用Python
我在CSV模块或互联网上的其他地方没有看到与此相关的任何内容,因此非常感谢所有帮助。
header1,header2,header3,header4,header5
value1,value2,value3,value4,value5
value1,value2,value3,value4,value5
答
使用csv module。当写了一个排,使用row[:-1]
砍掉最后一个项目:即使你不使用CSV模块
import csv
with open(filename,"r") as fin:
with open(outname,"w") as fout:
writer=csv.writer(fout)
for row in csv.reader(fin):
writer.writerow(row[:-1])
答
,逻辑和理智的方法是阅读按行文件行,分裂他们的逗号,并用join
打印出项目1至4。例如
for line in open("file"):
print ','.join(line.split(",")[:-1])
或只是简单的字符串索引
for line in open("file"):
print line[ : line.rindex(",") ]
如果数据的最后一列恰好包含一个逗号这可能会碰到的问题。使用CSV模块应该解决这个问题。 –