繁体   English   中英

Python从csv中删除每个双引号

[英]Python strip every double quote from csv

嗨,我有一个csv文件,如下所示。

"AB" ; "AA" ; "BA" ; "HI"
"CD" ; "BB" ; "BC" ; "JK"
"EF" ; "CC" ; "CE" ; "LM"
"GH" ; "DD" ; "DG" ; "MN"

我如何获得以下代码来从csv文件的每一列中去除所有双引号,因为现在它仅去除第一列。 谢谢

import csv

f = open("wakhawakha.csv", 'rt')
try:
    for row in csv.reader(f, delimiter=' ', skipinitialspace=True):
        print('|'.join(row))
finally:
        f.close()

这就是你想要的吗?

    for row in csv.reader(f, delimiter=';', skipinitialspace=True):
        print (''.join(row))

打开它并首先读取字符串。

import csv

with open("wakhawakha.csv", 'rt') as f:
    data = f.read()
new_data = data.replace('"', '')
for row in csv.reader(new_data.splitlines(), delimiter=' ', skipinitialspace=True):
    print ('|'.join(row))

编辑我注意到您更改了缩进。 OP中的缩进是错误的:现在可以了:

f = open("wakhawakha.csv", 'rt')
try:
    for row in csv.reader(f, delimiter=' ', skipinitialspace=True):
        print ('|'.join(row))
finally:
    f.close()

这样的输出是这样的:

AB|;|AA|;|BA|;|HI
CD|;|BB|;|BC|;|JK
EF|;|CC|;|CE|;|LM
GH|;|DD|;|DG|;|MN

这是您想要的输出吗? 或者,您是否只想删除所有双引号? 如果是这样,请在您的代码中更改此行:

print ('|'.join(row))

对此:

print (' '.join(row))

然后,您将获得以下输出:

AB ; AA ; BA ; HI
CD ; BB ; BC ; JK
EF ; CC ; CE ; LM
GH ; DD ; DG ; MN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM