python提取表格测试文件夹内的多个word表格信息保存到一个名叫测试.xlsx的表格中excel中
时间: 2023-06-09 16:08:44 浏览: 127
基于python实现一键将word中的表格提取到excel文件中
5星 · 资源好评率100%
的不同工作表中,每一个工作表对应一个word表格的信息。请问,该如何实现?
可以使用Python中的docx和openpyxl库来实现该功能。具体步骤如下:
1. 使用docx库打开每个word表格文件,读取表格数据。
2. 使用openpyxl库创建一个新的Excel文件,设置不同的工作表。
3. 将每个word表格的数据写入对应的Excel工作表中。
以下是一段代码示例:
```python
import openpyxl
import os
from docx import Document
# 打开word表格文件,读取表格数据
def read_word_table(file_path):
document = Document(file_path)
tables = document.tables
table_data = []
for table in tables:
for i, row in enumerate(table.rows):
row_data = []
for cell in row.cells:
row_data.append(cell.text.strip())
table_data.append(row_data)
return table_data
# 将表格数据写入Excel工作表中
def write_excel_table(file_path, table_data):
wb = openpyxl.load_workbook(file_path)
sheet = wb.create_sheet()
for i, row_data in enumerate(table_data):
for j, cell_data in enumerate(row_data):
sheet.cell(row=i+1, column=j+1, value=cell_data)
wb.save(file_path)
# 提取文件夹内所有word表格文件的数据,保存到Excel文件中
def extract_table_data(folder_path, excel_file):
table_data_dict = {}
for file_name in os.listdir(folder_path):
if file_name.endswith('.docx'):
file_path = os.path.join(folder_path, file_name)
table_data = read_word_table(file_path)
table_data_dict[file_name] = table_data
wb = openpyxl.Workbook()
for key, value in table_data_dict.items():
sheet_name = key.replace('.docx', '')
wb.create_sheet(sheet_name)
write_excel_table(excel_file, value)
wb.remove(wb['Sheet'])
wb.save(excel_file)
if __name__ == '__main__':
folder_path = 'test_folder'
excel_file = '测试.xlsx'
extract_table_data(folder_path, excel_file)
```
其中,extract_table_data()函数为主函数,用于提取文件夹内的所有word表格文件的数据并保存到Excel文件中。read_word_table()函数用于读取word表格数据,write_excel_table()函数用于将数据写入Excel工作表中。
阅读全文