Python 官方文档:入门教程 => 点击学习
python处理excel有xlwt,openpyxl等,而xlwt只支持excel2003,也就是最多有256列,而openpyxl则支持excel2007以上,最多65536列。下面是两个的程序。xlwt为 import JSON i
python处理excel有xlwt,openpyxl等,而xlwt只支持excel2003,也就是最多有256列,而openpyxl则支持excel2007以上,最多65536列。下面是两个的程序。
xlwt为
import JSON
import xlwt
def readFromjson(file):
with open(file, 'r', encoding='utf8') as fr:
jsonData = json.load(fr)
return jsonData
def writeToExcel(file):
json = readFromJson(file)
excel = xlwt.Workbook()
sheet1 = excel.add_sheet('sheet1', cell_overwrite_ok=True)
sheet2 = excel.add_sheet('sheet2', cell_overwrite_ok=True)
length = len(json)
i = 0
while i < length:
eachLine = json[i]
questions = eachLine['questions']
answer = eachLine['answer']
questionSize = len(questions)
if (questionSize > 256):
print(i + 1, questionSize)
j = 0
while j < questionSize:
ques = questions[j]
eachQues = ques['question']
if j < 256:
sheet1.write(i, j, eachQues)
if j == 0:
sheet2.write(i, 0, eachQues)
j = j + 1
sheet2.write(i, 1, answer)
i = i + 1
excel.save('doc/answer.xls')
if __name__ == '__main__':
writeToExcel('doc/kb.json')
openpyxl为
import openpyxl
import json
def readFromJson(file):
with open(file, 'r', encoding='utf8') as fr:
jsonData = json.load(fr)
return jsonData
def writeToExcel(file):
json = readFromJson(file)
excel = openpyxl.Workbook()
sheet1 = excel.create_sheet('sheet1', index=0)
sheet2 = excel.create_sheet('sheet2', index=0)
length = len(json)
i = 0
while i < length:
eachLine = json[i]
questions = eachLine['questions']
answer = eachLine['answer']
questionSize = len(questions)
j = 0
while j < questionSize:
ques = questions[j]
eachQues = ques['question']
sheet1.cell(row=i + 1, column=j + 1, value=eachQues)
if j == 0:
sheet2.cell(row=i + 1, column=1, value=eachQues)
j = j + 1
sheet2.cell(row=i + 1, column=2, value=answer)
i = i + 1
excel.save('doc/answer.xlsx')
if __name__ == '__main__':
writeToExcel('doc/kb.json')
其核心在于读取json的方法和写入excel的方法。
--结束END--
本文标题: python读取json文件转成exce
本文链接: https://lsjlt.com/news/189459.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0