Python转Json升级版

image-20211226022627186

将excel文件夹中所有xslx文件全部转换json文件,存放在data文件夹中;

image-20211226023002464

excel中的格式,从序号为2的行开始,2行为key;1行可以自由写注释;

使用时用双击excel_to_json.py文件即可;

使用条件

1.安装python,配置环境变量;

2.安装excel库openpyxl;

​ cmd中输入pip install openpyxl执行;

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import openpyxl
import json
import io
import os

# excel表格转json文件
def excel_to_json(excel_file, json_f_name):
jd = []
heads = []
book = openpyxl.load_workbook(excel_file)
sheet = book[u'Sheet1']

max_row = sheet.max_row
max_column = sheet.max_column
# 解析表头
for column in range(max_column):
heads.append(sheet.cell(2, column + 1).value)
# 遍历每一行
for row in range(max_row):
if row < 3:
# 前两行跳过
continue
one_line = {}
# 遍历一行中的每一个单元格
for column in range(max_column):
k = heads[column]
v = sheet.cell(row + 1, column + 1).value
one_line[k] = v
jd.append(one_line)
book.close()
# 将json保存为文件
save_json_file(jd, json_f_name)

# 将json保存为文件
def save_json_file(jd, json_f_name):
f = io.open(json_f_name, 'w', encoding='utf-8')
txt = json.dumps(jd, indent=2, ensure_ascii=False)
f.write(txt)
f.close()

def to_work():
filenames=os.listdir(r'./excel')
for file_info in filenames:
strlist = file_info.split('.')
excel_to_json('./excel/'+file_info, './data/'+strlist[0]+".txt")
print(file_info +' to json successful')


if '__main__' == __name__:
to_work()
print('All data to json complete')