我有一个4.5GB的CSV文件,我需要从中删除"
。目前的记录可能如下:
47477209,11,HIST,"
CANCELLED",,,,,,,,47140495
然而,它需要看起来像这样:
47477209,11,HIST,CANCELLED,,,,,,,,47140495
否则当我在spark中使用它作为DF
时,它认为它是一个新的记录。
这是我目前在阅读CSV
并写信至JSON
时所拥有的内容:
f = open('changeset.csv', 'rb' )
reader = csv.DictReader(f)
jsonoutput = 'masterlist2.0.json'
with open(jsonoutput, 'w') as f:
for x in reader:
json.dump(x,f)
f.write('\n')
我以为你可以做这样的事情......
json.dump(x.replace('"', ''),f)
答案 0 :(得分:2)
看起来您的问题不是"
。您的问题可能是数据中的换行符。因为这些,CSV编写器正在添加引号。您可以使用以下命令从第4个字段中删除换行符和其他周围的空白区域:
for x in reader:
x[3] = x[3].strip()
json.dump(x, f)
f.write('\n')