在数据管理和文档编写过程中,我们经常使用 Markdown 来记录表格数据。然而,Markdown 格式的表格在实际应用中不如 Excel 方便,特别是需要进一步处理数据时。因此,我们开发了一个使用 wxPython 的 GUI 工具,将 Markdown 表格结构转换为 Excel 文件。
C:\pythoncode\new\MarkdownToExcel.py
所有代码
import wx
import re
import openpyxl
import logging
class MarkdownToExcelApp(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Markdown 转 Excel', size=(800, 600))
# 配置日志
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='markdown_to_excel_debug.log',
filemode='w')
# 创建面板
panel = wx.Panel(self)
# 创建垂直布局
main_sizer = wx.BoxSizer(wx.VERTICAL)
# 输入标签
input_label = wx.StaticText(panel, label='请输入Markdown表格结构:')
main_sizer.Add(input_label, 0, wx.ALL | wx.EXPAND, 10)
# 输入文本框
self.input_text = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
main_sizer.Add(self.input_text, 1, wx.ALL | wx.EXPAND, 10)
# 转换按钮
convert_btn = wx.Button(panel, label='转换为Excel')
convert_btn.Bind(wx.EVT_BUTTON, self.on_convert)
main_sizer.Add(convert_btn, 0, wx.ALL | wx.CENTER, 10)
# 日志文本框
self.log_text = wx.TextCtrl(panel, style=wx.TE_MULTILINE | wx.TE_READONLY)
main_sizer.Add(self.log_text, 1, wx.ALL | wx.EXPAND, 10)
# 设置面板的布局
panel.SetSizer(main_sizer)
# 创建菜单栏
menubar = wx.MenuBar()
file_menu = wx.Menu()
exit_item = file_menu.Append(wx.ID_EXIT, '退出', '退出应用程序')
menubar.Append(file_menu, '文件')
self.SetMenuBar(menubar)
# 绑定菜单事件
self.Bind(wx.EVT_MENU, self.on_exit, exit_item)
# 居中显示
self.Centre()
def log_and_display(self