【发布时间】:2018-06-04 22:05:39
【问题描述】:
我正在抓取一些数据,并希望将一些事情自动化。目前,我的刮刀创建 JSON 文件(我刮掉的每一页一个),我将其清理并组合成一个 CSV,然后我对其进行分析。我正在尝试清理类似 JSON 的数据而不将其保存到 JSON 文件中。
目前我正在编写一个 JSON 文件,然后使用 pd.read_json 然后对其进行清理和转换。我希望做的是调用刮板并让它们返回 JSON 文件的内容,而不是编写 JSON 文件然后加载 JSON 文件。
当前代码是这样的:
刮...
with open('%s-%s-df1.json'%(arg1, arg2), 'w) as fp:
json.dump(df1, fp, indent = 4)
我希望实现的是直接操作df1,而不必做上面的事情。我现在必须执行上述操作的原因是 pd.read_json 将 JSON 文件转换为 pandas 数据框。如何在不导出到 json 文件然后使用 pd.read_json 导入的情况下转换类似 JSON 的数据?
【问题讨论】:
-
StringIO 是一种可能性,因为它将支持 pandas 的
.read_json()期望的.read()方法。 (Python2 中的StringIO模块或Python3 中的io模块) -
你读过the docs吗?他们解释了在哪里可以只使用字符串,在哪里使用 StringIO,以及它们的含义。任何人在这里给出的任何答案都将是相同的信息,但细节较少,权威性较低,并且与文档不同,它会变得陈旧。如果您有文档没有回答的问题,请具体提出。
标签: python json pandas web-scraping