如何使用 Python 删除 csv 文件中的双引号 (")?
How to remove double quotes(") in csv file with Python?
我在 csv 文件中的输入如下:
 “No” “ename” age “gender” “salary”
1 “aaa” 23 f 1000
2 “bbb” 24 m 2000
3 “ccc” 25 “f” 3000
4 “ddd” 35 m 4000
5 “eee” 27 f 5000
Below code is written to remove quotes given in .csv file.
import csv
csv.register_dialect('myDialect', delimiter=',', doublequote=False,
quoting=csv.QUOTE_NONE, skipinitialspace='True')
f = open("pythonFiles/normal.csv", 'r')
normal = csv.reader(f, dialect='myDialect')
for data in normal:
print(data, len(data))
输出如下所示。我想删除所有引号。
['“No”', '“ename”', 'age', '“gender”', '“salary”']
['1', '“aaa”', '23', 'f', '1000']
['2', '“bbb”', '24', 'm', '2000']
['3', '“ccc”', '25', '“f”', '3000']
['4', '“ddd”', '35', 'm', '4000']
['5', '“eee”', '27', 'f', '5000']
也许你可以使用 replace(...)
?
for data in normal:
data = [d.replace('“', '').replace('”', '') for d in data]
print(data, len(data))
如果您想保持内部引号完整,您也可以执行 lstrip(...)
和 rstrip(...)
:
for data in normal:
data = [d.lstrip('“').rstrip('”') for d in data]
print(data, len(data))
请注意,您使用的引号是 "left double quote" (“
) 和 "right double quote" (”
) 而不是简单的 "double quote" ("
).
从 André 上面的回答中得到灵感,我修改了你下面的代码
import csv
csv.register_dialect('myDialect', delimiter=' ', doublequote=True,
quoting=csv.QUOTE_NONE, skipinitialspace='True')
f = open("normal.csv", 'r')
f = f.read().replace('“', '').replace('”', '').splitlines()
normal = csv.reader(f, dialect='myDialect')
for data in normal:
print(data, len(data))
如果您对此感到满意,请select安德烈的回答作为接受的回答。
干杯。
我在 csv 文件中的输入如下:
 “No” “ename” age “gender” “salary”
1 “aaa” 23 f 1000
2 “bbb” 24 m 2000
3 “ccc” 25 “f” 3000
4 “ddd” 35 m 4000
5 “eee” 27 f 5000
Below code is written to remove quotes given in .csv file.
import csv
csv.register_dialect('myDialect', delimiter=',', doublequote=False,
quoting=csv.QUOTE_NONE, skipinitialspace='True')
f = open("pythonFiles/normal.csv", 'r')
normal = csv.reader(f, dialect='myDialect')
for data in normal:
print(data, len(data))
输出如下所示。我想删除所有引号。
['“No”', '“ename”', 'age', '“gender”', '“salary”']
['1', '“aaa”', '23', 'f', '1000']
['2', '“bbb”', '24', 'm', '2000']
['3', '“ccc”', '25', '“f”', '3000']
['4', '“ddd”', '35', 'm', '4000']
['5', '“eee”', '27', 'f', '5000']
也许你可以使用 replace(...)
?
for data in normal:
data = [d.replace('“', '').replace('”', '') for d in data]
print(data, len(data))
如果您想保持内部引号完整,您也可以执行 lstrip(...)
和 rstrip(...)
:
for data in normal:
data = [d.lstrip('“').rstrip('”') for d in data]
print(data, len(data))
请注意,您使用的引号是 "left double quote" (“
) 和 "right double quote" (”
) 而不是简单的 "double quote" ("
).
从 André 上面的回答中得到灵感,我修改了你下面的代码
import csv
csv.register_dialect('myDialect', delimiter=' ', doublequote=True,
quoting=csv.QUOTE_NONE, skipinitialspace='True')
f = open("normal.csv", 'r')
f = f.read().replace('“', '').replace('”', '').splitlines()
normal = csv.reader(f, dialect='myDialect')
for data in normal:
print(data, len(data))
如果您对此感到满意,请select安德烈的回答作为接受的回答。 干杯。