![](/img/trans.png)
[英]How to convert a txt file with dictionary format to dataframe in python?
[英]Convert dictionary format txt file into excel in Python
对于txt文件result.txt
,如下所示:
[
{
"image_id": "42041",
"mean_score_prediction": 4.996936075389385
},
{
"image_id": "42039",
"mean_score_prediction": 4.647608995437622
},
{
"image_id": "42044",
"mean_score_prediction": 3.9866196922957897
},
{
"image_id": "42042",
"mean_score_prediction": 3.9691513180732727
},
{
"image_id": "42040",
"mean_score_prediction": 4.303698152303696
}
]
我想将其转换为数据result.xlsx
df
然后另存为excel result.xlsx
:
print(df)
image_id mean_score_prediction
0 42041 4.996936
1 42039 4.647609
2 42044 3.986620
3 42042 3.969151
4 42040 4.303698
如何在Python中执行此操作? 谢谢。
首先,我使用Python读取文件:
filename = 'result.txt'
with open(filename) as f:
data = f.readlines()
print(data)
输出:
['[\n', ' {\n', ' "image_id": "42041",\n', ' "mean_score_prediction": 4.996936075389385\n', ' },\n', ' {\n', ' "image_id": "42039",\n', ' "mean_score_prediction": 4.647608995437622\n', ' },\n', ' {\n', ' "image_id": "42044",\n', ' "mean_score_prediction": 3.9866196922957897\n', ' },\n', ' {\n', ' "image_id": "42042",\n', ' "mean_score_prediction": 3.9691513180732727\n', ' },\n', ' {\n', ' "image_id": "42040",\n', ' "mean_score_prediction": 4.303698152303696\n', ' }\n', ']\n']
采用:
In [1]: import pandas as pd
In [2]: with open("result.txt", 'r') as f:
...: data = f.read()
...:
In [3]: data
Out[3]: '[\n {\n "image_id": "42041",\n "mean_score_prediction": 4.996936075389385\n },\n {\n "image_id": "42039",\n "mean_score_prediction": 4.647608995437622\n },\n {\n "image_id": "42044",\n "mean_score_prediction": 3.9866196922957897\n },\n {\n "image_id": "42042",\n "mean_score_prediction": 3.9691513180732727\n },\n {\n "image_id": "42040",\n "mean_score_prediction": 4.303698152303696\n }\n]'
In [6]: df = pd.read_json(data)
In [7]: df
Out[7]:
image_id mean_score_prediction
0 42041 4.996936
1 42039 4.647609
2 42044 3.986620
3 42042 3.969151
4 42040 4.303698
您的文本文件具有JSON格式,所以你可以使用read_json
也如果没有扩展.json
:
df = pd.read_json('result.txt')
print (df)
image_id mean_score_prediction
0 42041 4.996936
1 42039 4.647609
2 42044 3.986620
3 42042 3.969151
4 42040 4.303698
最后通过DataFrame.to_excel
写入excel:
df.to_excel('result.xlsx', index=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.