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

pandas DataFrame未存入全部遍历读取的txt文件数据,如何解决该问题?

问题修复方案

错误原因

  • 存储数据的list_dir列表被你放在了for循环内部初始化,每遍历一个文件就会清空原有列表,最终列表里仅会保留最后一次循环读取到的单条文件数据。
  • os.listdir()返回的文件名列表顺序是未定义的,和你默认认为的文件排序规则不一致,所以最终留存的那条数据并不是你以为的遍历最后一条。

修复方法

把list_dir的初始化逻辑移动到for循环外部即可,修改后的完整代码如下:

import pandas as pd
import os

# 列表初始化放到循环外面
list_dir = []
for review in os.listdir('ebert_reviews'):
    with open(os.path.join('ebert_reviews',review),encoding='utf-8') as file:
        title = file.readline()[:-1]
        url = file.readline()[:-1]
        review_text = file.read()
        list_dir.append({'title':title,
                         'url':url,
                         'review_text':review_text})

df = pd.DataFrame(list_dir)
print(df)

可选优化

如果你需要按特定顺序读取文件,可以先对os.listdir()的返回结果做排序处理,比如按文件名升序读取:

for review in sorted(os.listdir('ebert_reviews')):
    # 后续读取逻辑保持不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:39:03