|
发表于 2024-11-19 10:24:00
|
显示全部楼层
下面是一个基本的Python示例,使用`tkinter`库来选择文件和文件夹,并使用`pandas`、`openpyxl`库来处理Word文件和导出Excel文件。
首先,你需要安装所需的Python库:
- pip install pandas openpyxl python-docx
复制代码
以下是实现的示例代码:
- import tkinter as tk
- from tkinter import filedialog
- import pandas as pd
- from docx import Document
- def select_word_file():
- file_path = filedialog.askopenfilename(filetypes=[("Word files", "*.doc;*.docx")])
- return file_path
- def select_folder():
- folder_path = filedialog.askdirectory()
- return folder_path
- def process_word_file(file_path, output_folder):
- doc = Document(file_path)
- all_data = []
- for table in doc.tables:
- data = []
- # 获取表格的数据
- for row in table.rows:
- # 该行数据
- row_data = [cell.text for cell in row.cells]
- data.append(row_data)
- # 去除前四行和空行
- data = [row for row in data[4:] if any(cell.strip() for cell in row)]
- all_data.extend(data)
- # 转为DataFrame
- df = pd.DataFrame(all_data)
-
- # 保存到Excel
- output_path = f"{output_folder}/整理数据.xlsx"
- df.to_excel(output_path, index=False, header=False)
- print(f"数据导出到: {output_path}")
- def main():
- root = tk.Tk()
- root.withdraw() # 隐藏主窗口
-
- word_file = select_word_file()
- if not word_file:
- print("未选择Word文件")
- return
-
- output_folder = select_folder()
- if not output_folder:
- print("未选择输出文件夹")
- return
-
- process_word_file(word_file, output_folder)
- if __name__ == '__main__':
- main()
复制代码
**说明:**
- 使用`tkinter`来实现文件和文件夹选择对话框。
- 使用`python-docx`库读取Word文件中的表格。
- 使用`pandas`将处理后的表格数据转换为DataFrame,然后保存为Excel文件。
- 处理数据时,去除表格的前四行,并删除空行。
- 保存Excel文件到指定文件夹,文件名为“整理数据.xlsx”。
请根据需要调整代码,确保所有库已正确安装。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|