python - 从字典中删除双引号?

标签 python json python-2.7 csv

我有一个 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)

最佳答案

看起来您的问题不是 "。您的问题可能是数据中的换行符。因此,CSV 编写器正在添加引号。您可以删除换行符,以及其他第四个字段周围的空白区域为:

for x in reader:
    x[3] = x[3].strip()
    json.dump(x, f)
    f.write('\n')

关于python - 从字典中删除双引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48614867/

相关文章:

python - 如何将字典列表中的值与输入值进行比较

python - 生成 生成 numpy 数组

java - 从java中的pojo生成json模式 - 自定义日期类型

来自 Dockerfile 中参数的 JSON 字符串插值

python - 忽略 nan 值并执行 numpy.polyval 的函数

python - 当你从列表中删除一个项目时,为什么内存大小没有改变?

python - 为 Scrapy 安装依赖包

python - 如何正确地将参数从 Bottle View 传递到装饰 View ?

python - 如何将 QTimeEdit 中的小时、分钟值显示到相应的 LCD 上?

java - 具有 Collection 字段的对象的 GSON 自定义序列化程序