应用场景
假设你的 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")
代码说明
-
读取 Word 文件:
-
使用
python-docx
库读取 Word 文件。 -
Document("数据.docx")
加载 Word 文件。
-
-
提取数据:
-
遍历 Word 文件中的每一段(
doc.paragraphs
)。 -
使用
text.split()
将每行数据按空格分割,并转换为浮点数。
-
-
将数据写入 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
-
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")
代码说明:
-
python-docx
库:用于读取Word文档内容。 -
pandas
库:用于将数据转换为DataFrame并写入Excel文件。 -
split()
方法:假设Word文件中的数据是以空格或制表符分隔的,使用split()
方法将每行数据拆分为列表。 -
to_excel()
方法:将DataFrame写入Excel文件。
运行代码后,数据将被写入名为output.xlsx
的Excel文件中。