要完成你所描述的任务,你需要执行以下步骤:
1. 使用tkinter的`filedialog`模块来选择Word文档和指定文件夹位置。
2. 使用`python-docx`处理Word文档来读取最后一个表格。
3. 使用`openpyxl`库将数据写入Excel文件。
以下是一个简化的示例代码:
import os
from tkinter import Tk
from tkinter.filedialog import askopenfilename, askdirectory
from docx import Document
from openpyxl import Workbook
# 初始化Tkinter
root = Tk()
root.withdraw() # 隐藏主窗口
# 选择Word文档路径
word_file_path = askopenfilename(title="选择Word文档", filetypes=[("Word 文件", "*.docx")])
# 选择文件夹
folder_path = askdirectory(title="选择保存文件的文件夹")
# 打开Word文档并获取最后一个表格
document = Document(word_file_path)
tables = document.tables
last_table = tables[-1] # 最后一个表格
# 读取表格数据
table_data = []
for row in last_table.rows:
row_data = [cell.text for cell in row.cells]
table_data.append(row_data)
# 创建一个新的Excel文件
workbook = Workbook()
sheet = workbook.active
# 将表格数据写入Excel文件
for row_index, row_data in enumerate(table_data):
for col_index, cell_data in enumerate(row_data):
sheet.cell(row=row_index + 1, column=col_index + 1, value=cell_data)
# 保存Excel文件
excel_file_name = "整理数据.xlsx"
excel_file_path = os.path.join(folder_path, excel_file_name)
workbook.save(excel_file_path)
print(f"数据已导出到: {excel_file_path}")
请确保在运行此代码之前安装了必要的库:
pip install python-docx openpyxl
以上代码做了以下工作:
- 使用tkinter选择Word文件和目标文件夹。
- 读取Word文档的最后一个表格。
- 将表格中的数据写入新的Excel文件,并保存在指定的文件夹中。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |