鱼C论坛

 找回密码
 立即注册
查看: 308|回复: 1

读入word多张表,导出到excel

[复制链接]
发表于 2024-11-19 09:52:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用tkinter指定一个.doc或者.docx的文件,
再用tkinter指定一个文件夹位置


将.doc或者.docx的文件中所有的表格按以下要求导出数据
1、去除前四行数据
2、去除空行


导出的数据,在指定的文件夹位置新建一个名字为“整理数据.xlsx”,将数据保存到这个excel文件中去
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2024-11-19 10:24:00 | 显示全部楼层
下面是一个基本的Python示例,使用`tkinter`库来选择文件和文件夹,并使用`pandas`、`openpyxl`库来处理Word文件和导出Excel文件。

首先,你需要安装所需的Python库:
  1. pip install pandas openpyxl python-docx
复制代码


以下是实现的示例代码:

  1. import tkinter as tk
  2. from tkinter import filedialog
  3. import pandas as pd
  4. from docx import Document

  5. def select_word_file():
  6.     file_path = filedialog.askopenfilename(filetypes=[("Word files", "*.doc;*.docx")])
  7.     return file_path

  8. def select_folder():
  9.     folder_path = filedialog.askdirectory()
  10.     return folder_path

  11. def process_word_file(file_path, output_folder):
  12.     doc = Document(file_path)
  13.     all_data = []

  14.     for table in doc.tables:
  15.         data = []
  16.         # 获取表格的数据
  17.         for row in table.rows:
  18.             # 该行数据
  19.             row_data = [cell.text for cell in row.cells]
  20.             data.append(row_data)

  21.         # 去除前四行和空行
  22.         data = [row for row in data[4:] if any(cell.strip() for cell in row)]
  23.         all_data.extend(data)

  24.     # 转为DataFrame
  25.     df = pd.DataFrame(all_data)
  26.    
  27.     # 保存到Excel
  28.     output_path = f"{output_folder}/整理数据.xlsx"
  29.     df.to_excel(output_path, index=False, header=False)
  30.     print(f"数据导出到: {output_path}")

  31. def main():
  32.     root = tk.Tk()
  33.     root.withdraw()  # 隐藏主窗口
  34.    
  35.     word_file = select_word_file()
  36.     if not word_file:
  37.         print("未选择Word文件")
  38.         return
  39.    
  40.     output_folder = select_folder()
  41.     if not output_folder:
  42.         print("未选择输出文件夹")
  43.         return
  44.    
  45.     process_word_file(word_file, output_folder)

  46. if __name__ == '__main__':
  47.     main()
复制代码


**说明:**
- 使用`tkinter`来实现文件和文件夹选择对话框。
- 使用`python-docx`库读取Word文件中的表格。
- 使用`pandas`将处理后的表格数据转换为DataFrame,然后保存为Excel文件。
- 处理数据时,去除表格的前四行,并删除空行。
- 保存Excel文件到指定文件夹,文件名为“整理数据.xlsx”。

请根据需要调整代码,确保所有库已正确安装。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-8 04:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表