使用Python编辑CSV文件

r9f1avp5  于 2022-12-30  发布在  Python
关注(0)|答案(1)|浏览(134)

我有一个如下所示的CSV

"String1","variablelengthstring1","No"
"String2","variablelengthstring2","No"

字符串1和字符串2不包含字符",
变量长度字符串1和变量长度字符串2不包含字符",
输出文件应如下所示

String1 variablelengthstring1
String2 variablelengthstring2

所以我想删除每行的最后6个字符,即。
","No"
然后,我想从文件中删除所有"
然后,我想用空格替换所有,
那应该可以安全地完成我想做的事情

bq3bfh9z

bq3bfh9z1#

最简单的方法是创建一个程序,它可以逐行读取文件,用.split(',')分割每一行,从字符串中删除所有的",然后打印前几部分,如下所示:

with open('test.csv') as csv:
    for row in csv.readlines():
        cols = [s.replace('"', '') for s in row.split(',')]
        print(cols[0], cols[1])

如果你需要将它输出到一个文件中,那么你可以在命令行中使用重定向。

python program.py > output.txt

或者,可以使用另一个嵌套的with语句和.writelines(),如下所示:

lines = []
with open('test.csv') as csv:
    for row in csv.readlines():
        cols = [s.replace('"', '') for s in row.split(',')]
        lines.append(f'{cols[0]} {cols[1]}\n')

with open('out.txt', 'w') as out:
    out.writelines(lines)

相关问题