You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python批量读取多个txt存入DataFrame报FileNotFoundError问题

报错原因
  • 核心触发原因:代码第二步通过os.path.splitext()拆分文件名时,将去掉.txt后缀的纯文件名存入了filelist列表,第三步循环读取时传入的是不带后缀的文件名,系统找不到对应名称的文件,直接触发FileNotFoundError。
  • 原代码存在额外逻辑偏差:就算补全文件后缀,pd.read_csv()会按结构化表格规则读取txt,把文件内的每一行文本拆成DataFrame的独立行,完全不符合你单个文件完整内容作为DataFrame单独一行的需求;且循环中使用的df.append()方法已在新版Pandas中弃用,运行效率极低。
修正方案

直接遍历带完整后缀的txt文件,用Python原生文件接口读取单文件完整内容,先把所有数据存入列表再一次性生成DataFrame,既解决文件找不到的问题,也匹配你的存储需求,参考代码如下:

import pandas as pd
import os
import glob

# 目标文件目录
my_dir = "/content/drive/My Drive/MICUSP_G0"
os.chdir(my_dir)

data_list = []
# 直接遍历所有后缀为txt的完整文件
for file in glob.glob("*.txt"):
    # 提取不带后缀的文件名
    file_name = os.path.splitext(file)[0]
    # 读取文件完整文本内容,若遇编码报错可将utf-8替换为gbk、latin-1尝试
    with open(file, 'r', encoding='utf-8') as f:
        content = f.read()
    # 单文件数据存入列表,可根据需要调整列名
    data_list.append({
        "filename": file_name,
        "text_content": content
    })

# 批量生成DataFrame
df = pd.DataFrame(data_list)
print(df)

运行后生成的DataFrame中,每一行对应一个txt文件,分别存储文件名和对应散文的完整文本内容。

内容的提问来源于stack exchange,提问作者Sangeun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:42:36