ExcelToJson.bat
@echo -----------------------------------Excel转Json开始-----------------------------------
:: python ExcelToJson.py "excel路径" "Json路径" "要屏蔽的工作表 英文逗号隔开"
python ExcelToJson.py "C:\Users\utilToop\excel" "C:\Users\utilToop\excel" "Sheet1,Sheet2"
@echo -----------------------------------Excel转Json结束-----------------------------------
pause
ExcelToJson.py
import pandas as pd
import json
import os
import sys
ExcelPath = sys.argv[1]#Excel文件路径
JsonPath = sys.argv[2]#JsonPath文件路径
shield = sys.argv[3]#屏蔽工作表
if JsonPath == "":
JsonPath = ExcelPath
if shield !="":
shield = shield.split(",")
else:
shield = []
#print("需要屏蔽的表:",shield)
def excelToJson(filename,path):
idx = filename.rfind(".")
name = filename[:idx]#文件名
suffix = filename[idx:]#后缀
if suffix not in [".xlsx",".xls"]:
return
# 读取EXCEL文件
sheet = pd.read_excel(f"{path}/{filename}", sheet_name=None, skiprows=2)
for key in sheet.keys():
if key in shield:
continue#跳过屏蔽表
print(key)
# 使用PANDAS的to_json API直接将EXCEL转化为JSON
thisisjson = sheet[key].to_json(orient='records')
# 将JSON文件变成Python对象
thisisjson_dict = json.loads(thisisjson)
# 保存JSON文件
with open(f'{JsonPath}/{key}.json', 'w',encoding='utf-8') as json_file:
json.dump(thisisjson_dict, json_file, indent=4,ensure_ascii=False)
for filename in os.listdir(ExcelPath):
excelToJson(filename,ExcelPath);