gpt4 book ai didi

python - 使用 Python 将 Excel 转换为 JSON

转载 作者:行者123 更新时间:2023-12-04 19:45:33 24 4
gpt4 key购买 nike

我有一个 excel 文件,我想将其转换为 JSON文件。所以excel是这样的:

-------------------------
| Col A | Col C | Col F |
--------+-------+--------
| 1 | A | EE |
| 2 | B | FF |
| 4 | C | FF |
| 5 | D | HH |
| 6 | D | HH |
| 7 | A | EE |
| 8 | E | EE |
--------------------------

我想要 JSON遵循这种格式:
{
"EE": {
"A": {
"Col A key": "1",
"Col A key": "7"
},
"E": {
"Col A key": "8"
},
},

"FF": {
"B": {
"Col A key": "2"
},
"C": {
"Col A key": "4"
}
},

"HH": {
"D": {
"Col A key": "5",
"Col A key": "6"
}
}

}

谁能帮我使用 python 来实现它?我尝试了各种方法,但没有成功。这是我到目前为止所做的:

import openpyxl, pprint, json
print('Opening workbook...')
wb = openpyxl.load_workbook('excel_form.xlsx')
sheet = wb.get_sheet_by_name('Sheet')


excel_data = {}
print('Reading rows...')
for row in range(2, sheet.max_row + 1):
Col F = sheet['F' + str(row)].value
Col C = sheet['C' + str(row)].value
Col A = sheet['A' + str(row)].value

excel_data.setdefault(Col F, {})
excel_data[Col F].setdefault(Col C, {'Col A': Col A})


# Open a new text file and write the contents of excel_data to it.
print('Writing results...')
with open('DATA.json', 'w') as resultFile:
json.dump(Matrix, resultFile)
print('Done.')

提前致谢

最佳答案

我更喜欢使用 xlrd将 Excel 行转换为 JSON格式。

import xlrd
from collections import OrderedDict
import json

打开工作簿并选择第一个工作表
wb = xlrd.open_workbook("Excel-sheet location here")
sh = wb.sheet_by_index(0)

创建一个列表来保存字典
data_list = []

遍历工作表中的每一行并将值提取到 dict
for rownum in range(1, sh.nrows):
data = OrderedDict()

row_values = sh.row_values(rownum)
data['<Column Name1>'] = row_values[0]
data['<Column Name2>'] = row_values[1]
data_list.append(data)

写入文件:
 with open("RulesJson.json", "w", encoding="utf-8") as writeJsonfile:
json.dump(data_list, writeJsonfile, indent=4,default=str)

关于python - 使用 Python 将 Excel 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60044233/

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