我有很多 python dict 格式的存档数据,我正在努力将它们转换为 json。如果可以的话,我有兴趣加快这个过程,并且想知道是否有人有任何建议。目前我:
- 在“多个文件”中获取 gzip 压缩数据
- 逐行阅读
- 用 ast 做一个 literal_eval
- 使用 json 转储来创建所需的 json 字符串
- 查询线路日期
- 打开由检测到的日期命名的附加文件
- 将字符串写入文件
- 重新启动整个过程
这是我当前的工作代码:
import gzip
import ast
import json
import glob
import fileinput
from dateutil import parser
line = []
filestobeanalyzed = glob.glob('./data/*.json.gz')
for fileName in filestobeanalyzed:
inputfilename = fileName
print inputfilename # to keep track of where I'm at
for line in fileinput.input(inputfilename, openhook=fileinput.hook_compressed):
line = line.strip();
if not line: continue
try:
line = ast.literal_eval(line)
line = json.dumps(line)
except:
continue
date = json.loads(line).get('created_at')
if not date: continue
date_converted = parser.parse(date).strftime('%Y%m%d')
outputfilename = gzip.open(date_converted, "a")
outputfilename.write(line)
outputfilename.write("\n")
outputfilename.close()
必须有一种更有效的方法来做到这一点,我只是没有看到它。有没有人有什么建议?