使用Python删除CSV文件中的最后一列

2024-05-15 02:48:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含5列的CSV文件。使用Python,如何删除最后一列(示例中的header5)?有没有一种简单的方法让我丢失了,或者我必须循环CSV中的所有行并从最后一列中删除每个值(这可能仍然会让我留下前面不需要的逗号)?

我在CSV模块或interwebs上没有看到与此相关的任何内容,因此非常感谢您的帮助。

header1,header2,header3,header4,header5
value1,value2,value3,value4,value5
value1,value2,value3,value4,value5

Tags: 模块文件csv方法示例内容逗号value1
2条回答

使用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])

即使您不使用CSV模块,逻辑和理智的方法是逐行读取文件,用逗号分隔它们,并用join打印项目1到4。例如

for line in open("file"):
    print ','.join( line.split(",")[:-1] )

或者仅仅通过简单的字符串索引

for line in open("file"):
    print line[ : line.rindex(",") ]

相关问题 更多 >

    热门问题