gpt4 book ai didi

python - 使用 Python 将 Excel 转换为 JSON,如何根据需要格式化这些数据?

转载 作者:行者123 更新时间:2023-12-04 21:46:42 29 4
gpt4 key购买 nike

所以我想读取一个excel文件并使用python将数据提取到一个JSON文件中。
excel数据的格式如下:

Header 1  |   Header 2   | Header 3

x00 x01 x02
x10 x11 x12
. . .
. . .
现在我已经设法完成了大部分编码,我认为以下是正确的。但是,我确实需要以非常特定的格式获取 json 输出,这就是我使用 行的原因。数据[i]
import json
import pandas as pd

df = pd.read_excel (r'C:\Users\ezammit\Documents\Python Scripts\FILE.xlsx', sheet_name='sheet_1')

#initialize data
data=[0 for i in range(len(df) - 1)]

for i in range(len(df) - 1):

data[i] = r'{"'+str(df.columns.values[0])+'": "' +str(df.loc[i][0])+'", '+str(df.columns.values[1])+'": "' +str(df.loc[i][1])+'", '+str(df.columns.values[2])+'": "' +str(df.loc[i][2])+'"}'

with open('Savedwork.json', 'w') as json_file:
json.dump(data, json_file)
正如我所提到的,我真的想在 JSON 文件中获得一个特定的格式,它应该完全如下:
{"Header1":"data[0][0]", "Header2":"data[0][1]", "Header3":"data[0][2]"},
{"Header1":"data[1][0]", "Header2":"data[1][1]", "Header3":"data[1][2]"},
{"Header1":"data[2][0]", "Header2":"data[2][1]", "Header3":"data[2][2]"},
...
任何帮助,将不胜感激

最佳答案

您可以创建一个 python 字典,然后让 Python 将其转换为 JSON 字符串并将其存储在一个文件中,而不是自己“创建” JSON。
第一个错误是当您通过 len(df)-1 时至range功能。范围函数自动执行到 passedValue-1所以你必须通过 len(df) .
在循环内创建一个 dict而不是一个字符串。这是为您修改的代码:

import json
import pandas as pd

df = pd.read_excel (r'D:\example.xlsx', sheet_name='Sheet1')

#initialize data
data=[0 for i in range(len(df))]


for i in range(len(df)):
# data[i] = r'{"'+str(df.columns.values[0])+'": "' +str(df.loc[i][0])+'", '+str(df.columns.values[1])+'": "' +str(df.loc[i][1])+'", '+str(df.columns.values[2])+'": "' +str(df.loc[i][2])+'"}'
data[i] = {str(df.columns.values[0]) : str(df.loc[i][0]), str(df.columns.values[1]): str(df.loc[i][1]), str(df.columns.values[2]): str(df.loc[i][2])}
output_lines = [json.dumps(line)+",\n" for line in data]
output_lines[-1] = output_lines[-1][:-2] # remove ",\n" from last line
with open('Savedwork.json', 'w') as json_file:
json_file.writelines(output_lines)
这是我使用的示例 Excel 文件的链接: Sample XLSX
这是代码的示例输出:
{"Header1": "1", "Header2": "2", "Header3": "3"},
{"Header1": "6", "Header2": "5", "Header3": "4"},
{"Header1": "7", "Header2": "8", "Header3": "9"}

关于python - 使用 Python 将 Excel 转换为 JSON,如何根据需要格式化这些数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63481820/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com