我是python的新手,只需要一点帮助。
我们有一个以竖线分隔的CSV文件,看起来像这样
DATE|20160101
ID | Name | Address | City | State | Zip | Phone | OPEID | IPEDS |
10 | A... | 210 W.. | Mo.. | AL... | '31.. | 334.. | '01023 | 10063 |
20 | B... | 240 N.. | Ne.. | Ut... | '21.. | 335.. | '01024 | 10064 |
Zip和OPEID列的每个值开头都带有撇号
因此,我们希望创建一个新的CSV文件,其中从这2列的每个值中都删除了撇号。
然后,新文件应如下所示:
DATE|20160101
ID | Name | Address | City | State | Zip | Phone | OPEID | IPEDS |
10 | A... | 210 W.. | Mo.. | AL... | 31.. | 334.. | 01023 | 10063 |
20 | B... | 240 N.. | Ne.. | Ut... | 21.. | 335.. | 01024 | 10064 |
此代码用于复制数据而不会删除撇号
import os
import csv
file1 = "D:\CSV\File1.csv"
with open(file1, 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter = '|')
path = "D:/CSV/New"
if not os.path.exists(path):
os.makedirs(path)
writer = csv.writer(open(path+"File2"+".csv", 'wb'), delimiter = '|')
for row in reader:
writer.writerow(row)
csvfile.close()
它对我有用...试试这个。
res=[]
with open('hi.csv') as f:
content=csv.reader(f,delimiter='|')
for row in content:
for str in range (len(row)):
row[str]=row[str].replace('\'','')
res.append(row)
f.close()
with open('hi.csv','wb') as ff: # python 3 => 'wb' => 'w',newline=''
sw=csv.writer(ff,delimiter='|',quoting=csv.QUOTE_MINIMAL)
for rows in res:
sw.writerow(rows)
ff.close()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句