用于将 Word 文件中的数据提取并转换为 Excel 文件的Python 代码

应用场景

假设你的 Word 文件中的数据是纯文本格式(如你提供的内容),并且每行数据由空格分隔。

代码实现

from docx import Document
import pandas as pd

# 读取 Word 文件
doc = Document("数据.docx")  # 替换为你的 Word 文件路径

# 提取数据
data = []
for para in doc.paragraphs:  # 遍历 Word 文件中的每一段
    text = para.text.strip()  # 去除空白字符
    if text:  # 如果段落不为空
        # 将每行数据按空格分割并转换为浮点数
        row_data = list(map(float, text.split()))
        data.append(row_data)

# 将数据转换为 DataFrame
df = pd.DataFrame(data, columns=["ID", "Column1", "Column2", "Column3"])

# 将数据写入 Excel 文件
df.to_excel("output.xlsx", index=False, engine="openpyxl")

print("Word 文件数据已成功转换为 Excel 文件:output.xlsx")

代码说明

  1. 读取 Word 文件

    • 使用 python-docx 库读取 Word 文件。

    • Document("数据.docx") 加载 Word 文件。

  2. 提取数据

    • 遍历 Word 文件中的每一段(doc.paragraphs)。

    • 使用 text.split() 将每行数据按空格分割,并转换为浮点数。

  3. 将数据写入 Excel

    • 使用 pandas 将数据转换为 DataFrame。

    • 使用 to_excel 方法将 DataFrame 写入 Excel 文件。

安装依赖

运行代码前,需要安装以下库:

pip install python-docx pandas openpyxl

或镜像安装可能较快,例如

pip install python-docx pandas openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple

注意事项

  • 如果你的数据量很大,建议分块写入或使用其他高性能库(如 xlsxwriter)。

  • 如果需要写入多个工作表,可以使用 pd.ExcelWriter

应用场景2

  1. split()方法:假设Word文件中的数据是以空格或制表符分隔的,使用split()方法将每行数据拆分为列表。

代码实现

import pandas as pd
from docx import Document

# 读取Word文件
doc = Document('1.docx')

# 初始化一个空列表来存储数据
data = []

# 遍历Word文档中的每一段
for para in doc.paragraphs:
    # 假设每行数据是以空格或制表符分隔的
    row = para.text.split()
    if row:  # 确保行不为空
        data.append(row)

# 将数据转换为DataFrame
df = pd.DataFrame(data)

# 将DataFrame写入Excel文件
df.to_excel('output.xlsx', index=False, header=False)

print("数据已成功写入Excel文件:output.xlsx")

代码说明:

  1. python-docx:用于读取Word文档内容。

  2. pandas:用于将数据转换为DataFrame并写入Excel文件。

  3. split()方法:假设Word文件中的数据是以空格或制表符分隔的,使用split()方法将每行数据拆分为列表。

  4. to_excel()方法:将DataFrame写入Excel文件。

运行代码后,数据将被写入名为output.xlsx的Excel文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值