我有一个包含5列的CSV文件。使用Python,我如何删除最后一列(示例中的header5)?有没有一种简单的方法我会丢失,或者我是否必须遍历CSV中的所有行并从最后一列中删除每个值(这仍然会留下不需要的前一个逗号)?
我没有在CSV模块或互联网上的其他地方看到与此相关的任何内容,因此非常感谢任何帮助。
header1,header2,header3,header4,header5
value1,value2,value3,value4,value5
value1,value2,value3,value4,value5
答案 0 :(得分:14)
使用csv module。写出一行时,使用row[:-1]
来删除最后一项:
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])
答案 1 :(得分:1)
即使你不使用CSV模块,逻辑和理智的方法是逐行读取文件,用逗号分割它们,然后用join
打印出项目1到4。例如
for line in open("file"):
print ','.join( line.split(",")[:-1] )
或者只是通过简单的字符串索引
for line in open("file"):
print line[ : line.rindex(",") ]