如何在Pandas中提取文件名日期并动态命名输出CSV
动态提取CSV文件名中的日期并生成对应输出文件名(Pandas实现)
解决方案代码
import pandas as pd import re # 定义输入文件名,仅需修改此处即可适配不同日期的文件 input_filename = "4G_5G_TX_260223.csv" # 读取目标CSV文件 df = pd.read_csv(input_filename, encoding='unicode_escape', engine='python') # 执行数据类型转换与过滤逻辑 df['Carrier'] = df['Carrier'].astype('string') L1800_TX_with_vendor = df.loc[df['Carrier'] == "20 MHz - EARFCN 1617"] # 提取文件名中的6位日期部分 # 方法1:字符串分割(适配固定格式:前缀_日期.csv) date_part = input_filename.split('_')[-1].split('.')[0] # 方法2:正则表达式提取(更灵活,适配日期位置不固定的情况) # date_part = re.search(r'\d{6}', input_filename).group() # 动态构造输出文件名 output_filename = f"L1800_TX_with_vendor_{date_part}.csv" # 将过滤后的结果保存到目标CSV(index=False避免生成多余索引列) L1800_TX_with_vendor.to_csv(output_filename, index=False)
关键说明
- 动态适配日期:把输入文件名单独设为变量,后续只需修改这个变量即可处理不同日期的输入文件,无需改动其他代码逻辑。
- 日期提取方式:
- 字符串分割法适合文件名严格遵循「前缀_6位日期.csv」格式的场景,操作简单直接;
- 正则表达式法更灵活,只要文件名中包含6位数字的日期段,无论位置在哪都能准确提取。
- 输出文件名构造:通过f-string将提取到的日期动态插入输出文件名,确保输出文件始终与输入文件的日期对应。
内容的提问来源于stack exchange,提问作者syed
相关产品推荐
相关产品推荐

