我有不同的pandas数据帧,我把它放在一个列表中。 我想以json(或任何其他格式)保存此列表,可以由R读取。
<p>Some text</p>
<p>Some text</p>
<h2>title</h2>
<ul>
<li> element </li>
<li> element </li>
<li> element </li>
...
</ul>
<h2>title 2</h2>
<ul>
<li> element </li>
<li> element </li>
<li> element </li>
...
</ul>
etc.
问题是如何以R的可读格式保存list_df?请注意,df1和df2的列数不同!
答案 0 :(得分:2)
不详细了解熊猫DataFrames,所以也许这不起作用。但是如果它是传统的dict,你应该能够使用json模块。
df1 = create_df_predictions(9)
df2 = create_df_predictions(12)
list_df = [df1, df2]
您可以使用json.dumps(list_df)
将其写入文件,这会将您的dicts列表转换为有效的json表示。
import json
with open("my_file", 'w') as outfile:
outfile.write(json.dumps(list_df))
编辑:由DaveR评论的数据帧不可序列化。您可以将它们转换为dict,然后将列表转储到json。
import json
with open("my_file", 'w') as outfile:
outfile.write(json.dumps([df.to_dict() for df in list_df]))
或者pd.DataFrame和pd.Series有一个to_json()
方法,也可以查看这些方法。
答案 1 :(得分:1)
要将DataFrames列表导出到单个json文件,您应该将列表转换为DataFrame,然后使用to_json()
函数,如下所示:
df_to_export = pd.DataFrame(list_df)
json_output = df_to_export.to_json()
with open("output.txt", 'w') as outfile:
outfile.write(json_output)
这会将完整的数据集导出到单个json字符串并将其导出到文件。