[英]Delete specific characters from only two columns in a CSV file using Python 3.5
我正在尝试编辑一个包含19列的400万行数据的CSV文件。 有两列(第三和第四列),列出了个人的姓名,其姓名的列出方式为“姓,名”。
C00431445,"P80003338","Obama, Barack","DUCLOS, DUNCAN","CHICAGO","IL","606601303","OBAMA FOR AMERICA","ACCOUNTING MANAGER",77.65,08-AUG-08,"","","","SA17A","753821","5433431","P2008",
这是有问题的,因为当我尝试使用逗号分隔符将此文件上传到MySQL时,会将这两列的名称分成两半。 我想使用Python 3.5选择这两列并仅从其中删除逗号,而不删除其他行中的逗号。
在编码方面,我还是一个新手,可以提供任何帮助。 我知道可以使用.split()拆分这些列,然后合并它们(不带逗号),但是我想要一种更干净的方法,该方法可以直接从此文件中删除逗号。
使用csv模块进行读写
import csv
f = open('file.csv', 'rb')
reader = csv.reader(f)
your_list = list(reader)
f = open('file.csv', 'wb')
writer = csv.writer(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
for line in your_list:
line[2] = line[2].replace(",","")
line[3] = line[3].replace(",","")
writer.writerow(line)
在MySQL中,将列读入@variables,然后在将其存储到实际列中时对其进行操作:
LOAD DATA ...
(id1, id2, @name1, @name2, ...),
SET name1 = REPLACE(@name1, ',', ''),
name2 = REPLACE(@name2, ',', '');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.