如何将逗号替换为分号而不是引号内

2024-05-16 07:12:44 发布

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

我有类似以下CSV的东西:

"blah blah, foo bar", 1, 454, ok, eng
blah blah foo bar, 2, 21, ko, esp
...

我需要将字段之间的逗号替换为分号,这样我就可以正确地拆分CSV。但不要让通道里的人。在

我需要一个regex或一个小脚本(python,groovy,bash…)来解决这个问题。在


Tags: csv脚本bashfoobarokengregex
2条回答

考虑使用Python的csv模块。演示:

from csv import reader, writer
with open('input.csv') as inp, open('output.csv', 'w') as out:
    writer(out, delimiter=';').writerows(reader(inp))

文件内容:

^{pr2}$
import csv

infile = open("inputfile.csv", "r")
outfile = open("outputfile.csv", "w")

csvReader = csv.reader(infile)

for line in csvReader:
    outfile.write(";".join(line) + "\n")

infile.close()
outfile.close()

在Python2.7和3.5上测试

示例输出:

^{pr2}$

相关问题 更多 >