You need to enable JavaScript to run this app. Python如何提取txt文件名指定片段并生成pandas数据表
优惠活动
大模型
产品
解决方案
定价
更多

Python如何提取txt文件名指定片段并生成pandas数据表

从指定文件夹文件名提取字段生成Pandas表格的实现方案

准备工作

  • 全程不需要改动原文件夹里的txt文件,所有提取操作都是基于文件名的字符串解析完成
  • 需要的依赖:Python内置的路径处理模块(Path/os,无需安装)、pandas库,如果没装可以执行pip install pandas完成安装

实现逻辑

  1. 批量扫描目标文件夹,筛选出所有后缀为.txt的文件,自动跳过其他格式的无关文件
  2. 逐个解析文件名:
    • 先去掉文件名末尾的.txt后缀,拿到纯文件名字符串
    • 用文件名里的-做分隔,拆分出两部分内容:前半段的数字转成整数就是Year字段,后半段的文本就是原始的总统姓名
    • 可以在代码里内置一个映射表,自动修正原文件名里的拼写错误——比如示例里原文件把Washington拼成了Whasington,直接在映射表里替换就行,完全不用改原文件的名字
  3. 把所有解析得到的字段收集起来,按照要求的列顺序组装成Pandas表格,直接输出或者保存都可以

可直接运行的代码

from pathlib import Path
import pandas as pd

# 把这里替换成你自己存放txt文件的文件夹路径
target_folder = Path("你的实际文件夹路径")

# 文件名拼写修正映射,遇到原文件的拼写错误直接在这里补充对应关系就行
spelling_fix = {
    "Whasington": "Washington"
}

all_records = []
# 遍历文件夹下所有txt文件
for f in target_folder.glob("*.txt"):
    # 拿到不带后缀的文件名
    file_name_without_suffix = f.stem
    # 按-拆分字段,maxsplit=1保证姓名里如果有-也不会被截断
    year_str, original_name = file_name_without_suffix.split("-", maxsplit=1)
    # 格式化字段
    year = int(year_str)
    president_name = spelling_fix.get(original_name, original_name)
    all_records.append({"President": president_name, "Year": year})

# 生成符合要求格式的DataFrame
result_table = pd.DataFrame(all_records, columns=["President", "Year"])
# 打印结果检查
print(result_table)

补充说明

  • 代码运行过程中不会读取、修改任何原txt文件的内容,只会读取文件名做解析,不会对原有文件造成影响
  • 后续如果往文件夹里新增符合年份-姓名.txt命名规则的文件,直接重新运行脚本就能自动更新表格内容,不需要改代码逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 06:27:06