主Anaconda设备维护期间,如何在Google Colab中使用python-docx读取docx文件?
Colab环境读取docx的完整解决流程
1. 依赖安装
你之前的安装认知存在偏差,Colab并非不支持安装python-docx,只是Colab基于IPython内核,执行系统命令需要加!作为前缀,直接输入pip install会被识别成Python代码报错。正确的安装命令为:
!pip install python-docx
等待终端输出安装成功的提示后,即可正常导入docx模块。
2. 解决文件访问问题
Colab是独立的云端隔离运行环境,不存在你本地设备上的week_8_document1.docx文件,直接运行原有读取代码会抛出文件不存在的异常,两种文件接入方式可按需选择:
- 临时文件上传:在代码最开头添加上传逻辑,运行后会弹出本地文件选择框,选中对应docx文件即可自动上传到Colab当前工作目录,文件路径和你原有代码里的路径完全匹配,无需额外修改
from google.colab import files files.upload() - Google Drive挂载:如果需要频繁读取同个文档,可将docx提前存入Google Drive,通过Colab的Drive挂载接口关联云盘,直接通过云盘内的文件路径读取文档。
3. 代码逻辑优化
你编写的段落读取逻辑可正常提取普通正文内容,但默认不会覆盖docx内的表格、文本框等嵌入元素的文本,如果文档包含这类内容,可补全读取逻辑避免内容缺失:
import docx def getText(filename): doc = docx.Document(filename) fullText = [] # 提取普通段落文本 for para in doc.paragraphs: fullText.append(para.text) # 提取表格内的单元格文本 for table in doc.tables: for row in table.rows: for cell in row.cells: fullText.append(cell.text) return '\n'.join(fullText) docxString = getText("week_8_document1.docx")
注意:Colab的临时运行环境会在会话闲置或重启后自动清空,每次重新打开会话时,需要重新执行依赖安装、文件上传的步骤,之前上传的临时文件、安装的依赖不会保留。
内容的提问来源于stack exchange,提问作者Majin Venix
相关产品推荐
相关产品推荐

