表格为行列颠倒形式:

#!/usr/bin/env python
# coding=utf-8
# 本地excel转换为json

import json
import xlrd

file = "product.xlsx"
data = xlrd.open_workbook(file)
# 第二个sheet表是路南东
table = data.sheets()[1]
# 行数
nrows = table.nrows
# 列数
ncols = table.ncols
# 这个就是每个字典的key值
keys = ['id','name']
# 偶数行值even循环,获取id
even_list = []
for j in range(0,nrows,2):
    # 偶数行的值
    even=table.row_values(j)
    even_list += even
# 奇数行值odd循环,获取name
odd_list = []
for i in range(1,nrows,2):
    # 奇数行的值
    odd_value = table.row_values(i)
    odd_list += odd_value
# 列表嵌套,存储两个列表,一个是id需要的值,一个是name需要的值[[id的值],[name的值]]
result_list = []
result_list.append(even_list)
result_list.append(odd_list)
# 最后结果,列表里面嵌套字典[{},{}]
r = []
for i in range(len(even_list)):
    # 存储每一组数据的字典
    s = {}
    print("写入第%s个数据"%(i+1))
    for x in range(len(keys)):
        s[keys[x]] = result_list[x][i]
    r.append(s)
print("完毕。")

returnJson = json.dumps(r,ensure_ascii=False)
with open("路南东.json",'w',encoding='utf-8')as f:
    f.write(returnJson)

结果形式:

[{"id": "shadow421-2437", "name": ""},{"id": "shadow487-2830", "name": "15119"}]
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐