求问想处理一个 21Gjson 文件需要怎么操作啊

2018-07-06 16:46:47 +08:00
 bfpiaoran
有人跟我说
with open("file_name",'r') as file:
for line in file:
pass
这样读可以的 有没有更好的方法呀
2932 次点击
所在节点    Python
30 条回复
hellojinjie
2018-07-06 16:51:35 +08:00
直接 json.loads

嗯,这个时候就是考验你是不是土豪的时候了😄
hahastudio
2018-07-06 16:53:28 +08:00
yedashuai
2018-07-06 16:55:59 +08:00
@hellojinjie 楼上坏坏~~~
mokeyjay
2018-07-06 16:56:39 +08:00
json 是有一定结构的,你一行一行读了也没法解析呀
haon
2018-07-06 16:56:48 +08:00
分块啊
bfpiaoran
2018-07-06 16:58:33 +08:00
问题是 json 格式啊 可怜我的小破机器只有 16G @hahastudio @hellojinjie 坏银~~
qfdk
2018-07-06 16:59:49 +08:00
扔进 elk ?
yanaraika
2018-07-06 17:00:00 +08:00
开 swap,存成 hdf 等适合大数据的格式
InternetExplorer
2018-07-06 17:00:14 +08:00
哪个机器导出来的?这么牛的机器一定也能读吧,让那个机器转成可以分块读取的数据结构再给你
bfpiaoran
2018-07-06 17:00:38 +08:00
@hahastudio 这个库可以读么
eastrd
2018-07-06 17:00:39 +08:00
丢进 Splunk 吧
bfpiaoran
2018-07-06 17:01:33 +08:00
@InternetExplorer 从网上下的 dns 记录
bfpiaoran
2018-07-06 17:02:05 +08:00
@yanaraika
@eastrd 就像用本机处理 再开大数据好麻烦。。
bfpiaoran
2018-07-06 17:06:46 +08:00
凉了 不是 21G 解压之后 127G
hahastudio
2018-07-06 17:09:58 +08:00
@bfpiaoran https://www.dataquest.io/blog/python-json-tutorial/
不过好像要分行,如果你这个只有 1 行,那我估计你就要先预处理分行了
Droi
2018-07-06 17:12:09 +08:00
用 pandas 试试
详细的教程:
https://www.dataquest.io/blog/python-json-tutorial/
strict
2018-07-06 17:12:49 +08:00
json.load(f)试试?
xenme
2018-07-06 17:13:53 +08:00
@bfpiaoran DNS 记录也就一行一行的,不会台复杂,直接自己按行读取解析下就好了,又不是未知结构。
814084764
2018-07-06 17:18:50 +08:00
类似于 SAX 读取 XML 的方式??? DOM 方式肯定不行了。

JDK 提供的 XML 解析方式分为两种:DOM 方式和 SAX 方式
DOM:Document Object Model。需要读取整个 XML 文档,先需要在内存中构架代表整个 DOM 树的 Document 对象,可以进行随机访问. 需要考虑内存.适合增删改
SAX:Simple API for XML。采用事件驱动的方式解析 XML 文件,边读边对文档进行处理.适合读取
bfpiaoran
2018-07-06 17:20:07 +08:00
读出来了 很普通的格式 我去想怎么处理啦 谢谢~~~
with open("file_name",'r') as file:
for line in file:
pass
这样读都是秒读的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/468711

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX