我有一个文本文件(大约 600MB),其中包含使用搜索 API 收集的 json 格式的推文。我想根据推文中的“created_at”值对推文进行排序,并将它们写入新文件。我使用了代码:
oldlist=[]
newlist=[]
with open('abc.txt') as f:
for each in f:
oldlist.append(json.loads(each))
newlist=(sorted(oldlist,key=lambda k: k['created_at'])).
我可以使用“>>”将输出重定向到文本文件。
我已经在较小的文件 (100MB) 上尝试过,即使这样也需要很长时间。有更好的方法吗?
请您参考如下方法:
你在这儿了解合并排序吗?您可以将文件分成几个小文件,对每个文件进行排序,然后使用合并排序原则将它们合并在一起。
好吧,如果每个人都坚持你应该在内存中做,我可以建议使用 Pandas
import pandas as pd
df = pd.read_json('abc.txt')
df.sort(by='created_at')
