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

求助:如何将for循环结果存入DataFrame并导出Excel?PDF信息仅存最后一条

解决Python收集PDF文件信息并生成DataFrame的问题

你的问题出在循环中每次都覆盖了results字典,导致最终只保留了最后一个文件的数据。正确的做法是用一个列表来收集所有文件的信息,再将整个列表传入DataFrame。

修正后的完整代码

import os
import datetime
import pandas as pd

path = 'Insert Path'

def ts_to_dt(ts):
    return datetime.datetime.fromtimestamp(ts)

# 初始化空列表,用于收集所有文件信息
results = []

for file in os.scandir(path):
    # 统一转成小写后缀判断,更简洁
    if file.name.lower().endswith(".pdf"):
        # 将每个文件的信息以字典形式追加到列表中
        results.append({
            'FileName': file.name,
            'DateModified': ts_to_dt(file.stat().st_atime)
        })

# 用列表直接生成DataFrame,每个字典对应一行数据
df = pd.DataFrame(results)
print(df)

# 导出到Excel文件(可选,根据需求添加)
df.to_excel('pdf_file_info.xlsx', index=False)

关键修改点说明

  • 把results从单个字典改成空列表,循环中用append()方法添加每个文件的信息字典
  • 后缀判断用lower()统一转小写,避免重复判断.pdf和.PDF
  • 创建DataFrame时直接传入列表,无需指定index=[0],列表中的每个元素会自动成为DataFrame的一行

这样就能完整收集所有PDF文件的信息,再导出到Excel了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:40:44