最近写了个脚本,帮忙处理下数据。遇到一个神奇的问题记录一下。
有个场景需要把 csv 文件里的数据,转换成 json格式。
代码类似如下:
import csv
import json
file_name = "xxx.csv"
with (open(file_name, 'r') as csvfile):
csvreader = csv.reader(csvfile)
result = []
for row in csvreader: # 遍历每一行
res = {}
res["a"] = row[0]
res["b"] = row[1]
result.append(res)
print(result)
看似简单的算法,print 出来的数据却偶现丢失。而且出现不是很规律。看着并不像是循环里的 bug。
解决方案:
写到文件里,不要直接 print。
f = open('file_name.json', 'w+')
f.write(json.dumps(result, ensure_ascii=False))
f.close()