python for循环遍历学生全部答题卡,读取word中第二章第一个表格第二列内容,将所有提取的内容,去除重复项,导出成excel,并打开
时间: 2023-06-10 18:08:30 浏览: 153
这个任务需要用到一些 Python 库,包括 python-docx 和 pandas。在开始之前,需要先安装这些库。
```python
!pip install python-docx pandas
```
接下来,我们可以按以下步骤进行代码实现:
1. 遍历学生答题卡,读取每个答题卡对应的 Word 文档;
2. 从 Word 文档中读取第二章第一个表格的第二列内容;
3. 将所有的内容去重后导出成 Excel 文件,并打开。
下面是代码实现:
```python
import os
import docx
import pandas as pd
# 定义函数用于读取 Word 文档中第二章第一个表格的第二列内容
def read_word_table(file_path):
doc = docx.Document(file_path)
table = doc.tables[0] # 获取第一个表格
column_2 = [] # 存储第二列的内容
for row in table.rows:
column_2.append(row.cells[1].text)
return column_2[1:] # 去除表头
# 遍历学生答题卡所在的文件夹
folder_path = '/path/to/students/answer/sheets'
all_content = []
for file_name in os.listdir(folder_path):
if file_name.endswith('.docx'):
file_path = os.path.join(folder_path, file_name)
content = read_word_table(file_path)
all_content.extend(content)
# 去除重复项
all_content = list(set(all_content))
# 导出成 Excel 文件并打开
df = pd.DataFrame({'content': all_content})
df.to_excel('/path/to/output/file.xlsx', index=False)
os.startfile('/path/to/output/file.xlsx')
```
需要将代码中的 `/path/to` 替换成对应的文件路径。
阅读全文