鱼C论坛

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

[已解决]读取word中的最后一个表

[复制链接]
发表于 前天 18:01 | 显示全部楼层 |阅读模式

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

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

x
用tkinter指定一个11.doc或者.docx的文件,将文件中最后一个表格去掉前三行,导出df,再将df保存到11.xls文件中去,程序按竖行一行行写
最佳答案
前天 18:01
要实现这个功能,需要结合`tkinter`用于文件选择,`python-docx`来处理Word文档,以及`pandas`将数据导出为Excel文件。以下是一个简化的步骤说明:

1. 使用`tkinter`创建一个文件选择对话框来选择Word文件。
2. 使用`python-docx`库读取Word文件,找到最后一个表格。
3. 去掉表格的前三行数据。
4. 使用`pandas`将剩余的数据保存为Excel格式。

以下是示例代码:
from tkinter import Tk, filedialog
import pandas as pd
from docx import Document

def select_file():
    root = Tk()
    root.withdraw()
    file_path = filedialog.askopenfilename(filetypes=[("Word files", "*.doc;*.docx")])
    return file_path

def process_word_file(file_path):
    # 打开Word文档
    doc = Document(file_path)
    
    # 取出最后一个表格
    last_table = doc.tables[-1]
    
    # 获取表格内容(去掉前三行)
    data = []
    for i, row in enumerate(last_table.rows[3:]):  # 从第4行开始
        row_data = [cell.text for cell in row.cells]
        data.append(row_data)
    
    # 将数据存入DataFrame
    df = pd.DataFrame(data)
    
    # 导出到Excel文件
    df.to_excel('11.xls', index=False, header=False)  # 不写入索引和表头

if __name__ == '__main__':
    file_path = select_file()
    if file_path:
        process_word_file(file_path)

请确保安装了`python-docx`和`pandas`库来运行此代码。可以使用以下命令安装它们:
pip install python-docx pandas

这个步骤会帮助您从Word文档的最后一个表格去掉前三行,然后将处理后的表格数据导出到Excel文件。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 前天 18:01 | 显示全部楼层    本楼为最佳答案   
要实现这个功能,需要结合`tkinter`用于文件选择,`python-docx`来处理Word文档,以及`pandas`将数据导出为Excel文件。以下是一个简化的步骤说明:

1. 使用`tkinter`创建一个文件选择对话框来选择Word文件。
2. 使用`python-docx`库读取Word文件,找到最后一个表格。
3. 去掉表格的前三行数据。
4. 使用`pandas`将剩余的数据保存为Excel格式。

以下是示例代码:
from tkinter import Tk, filedialog
import pandas as pd
from docx import Document

def select_file():
    root = Tk()
    root.withdraw()
    file_path = filedialog.askopenfilename(filetypes=[("Word files", "*.doc;*.docx")])
    return file_path

def process_word_file(file_path):
    # 打开Word文档
    doc = Document(file_path)
    
    # 取出最后一个表格
    last_table = doc.tables[-1]
    
    # 获取表格内容(去掉前三行)
    data = []
    for i, row in enumerate(last_table.rows[3:]):  # 从第4行开始
        row_data = [cell.text for cell in row.cells]
        data.append(row_data)
    
    # 将数据存入DataFrame
    df = pd.DataFrame(data)
    
    # 导出到Excel文件
    df.to_excel('11.xls', index=False, header=False)  # 不写入索引和表头

if __name__ == '__main__':
    file_path = select_file()
    if file_path:
        process_word_file(file_path)

请确保安装了`python-docx`和`pandas`库来运行此代码。可以使用以下命令安装它们:
pip install python-docx pandas

这个步骤会帮助您从Word文档的最后一个表格去掉前三行,然后将处理后的表格数据导出到Excel文件。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 16:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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