根据excel数据生成json字符串【python】

1、代码效果

1.1 源数据

根据excel数据生成json字符串【python】_第1张图片

1.2 json字符串结构

根据excel数据生成json字符串【python】_第2张图片

2、python代码

# -*- coding: utf-8 -*-
import win32com.client
import xlwings as xw
import json
import os
from win32com.client import Dispatch
def if_excel_file_is_open(path):#判断Book3.xlsm文件是否打开,如果打开了就关闭它,要不然xlwings数据写不上去。摘抄自:https://blog.csdn.net/weixin_42825774/article/details/102945955的qq_42359696评论
	xlApp = Dispatch('Excel.Application')
	xlApp.DisplayAlerts = False  # 设置不显示警告和消息框
	bookCount = xlApp.Workbooks.Count
	print(f'已打开工作簿的数量为:{
     bookCount}个')
	if bookCount > 0:
	    # 工作簿索引从1开始
	    for i in range(1, bookCount + 1):
	        filePath = xlApp.Workbooks(i).Path + "\\" + xlApp.Workbooks(i).Name
	        print(f'第{
     i}个excel的文件路径为:{
     filePath}')
	        if filePath== path:
	        	xlApp.Workbooks(i).Save()#保存当前打开的文件
	        	xlApp.Workbooks(i).Close() #关闭当前打开的文件
	        	break
	del xlApp


excel_path=os.path.join(os.getcwd(),r'Book3.xlsm')#excel路径:当前目录下的Book3.xlsm文件。本来想写vba的,所以保存了xlsm格式。
if_excel_file_is_open(excel_path)#如果Book3.xlsm已经打开了,就把它关闭,保证xlwings可以写入保存。
app = xw.App(visible = False , add_book = False) #指定不显示地打开Excel,读取Excel文件
wb = app.books.

你可能感兴趣的:(python,json,python,excel)