在Google Colab中读取Google Drive内TXT文件并生成Pandas数据框
Google Colab读取Drive中TXT文件的问题解答
问题1:文件名看不到.txt后缀会有影响吗?
分两种情况判断:
- 如果是系统默认隐藏了文件后缀(文件本身实际带有.txt后缀):读取文件内容不受影响,使用
glob.glob('*.txt')匹配路径时,系统会正常识别到带后缀的文件,无需额外调整。 - 如果是文件本身没有.txt后缀(比如直接命名为
doc1而非doc1.txt):*.txt的glob模式会匹配不到这些文件,需要将路径改为glob.glob('/content/gdrive/My Drive/DATASETS/DOXES/*');读取纯文本内容本身没问题,但如果文件实际是其他格式,可能出现乱码。
问题2:如何将所有TXT文件内容存入Pandas数据框?
先修正文件路径的获取逻辑,再循环读取内容并整理为DataFrame,完整实现代码如下:
from google.colab import drive import glob import pandas as pd from tqdm import tqdm # 挂载Google Drive drive.mount("/content/gdrive") # 获取所有TXT文件路径 # 若文件实际带.txt后缀,用这行 dataset_filepaths = glob.glob('/content/gdrive/My Drive/DATASETS/DOXES/*.txt') # 若文件无.txt后缀,替换为下面这行 # dataset_filepaths = glob.glob('/content/gdrive/My Drive/DATASETS/DOXES/*') # 初始化列表存储文件信息 file_data = [] # 循环读取每个文件 for filepath in tqdm.tqdm(dataset_filepaths): filename = filepath.split('/')[-1] try: # 用with语句自动管理文件资源 with open(filepath, 'r', encoding='utf-8') as f: content = f.read() file_data.append({'文件名': filename, '文本内容': content}) except Exception as e: print(f"读取文件 {filename} 失败: {str(e)}") # 转换为Pandas数据框 text_df = pd.DataFrame(file_data) # 查看前5条数据 print(text_df.head())
关键说明
- 使用
with open替代直接open,避免手动关闭文件时的资源泄漏问题。 - 指定
encoding='utf-8'确保多语言文本读取正常,若文件采用其他编码(如GBK)可对应调整。 - 添加异常捕获,防止单个文件读取失败导致整个流程中断。
- 数据框包含「文件名」和「文本内容」两列,方便后续的文本分析或数据处理。
内容的提问来源于stack exchange,提问作者John Angelopoulos
相关产品推荐
相关产品推荐

