在 Pandas 中捕获数据帧中的部分文件名

Capturing part of file name in a Dataframe in Pandas

提问人:syed 提问时间:3/28/2023 更新时间:4/1/2023 访问量:111

问:

我正在阅读 pandas 中的 csv 文件。csv 文件在其名称中附加了日期,即 test_280323.csv。

我在 pandas 中对 CSV 进行一些过滤,然后创建数据框来存储过滤操作。然后,我将数据帧写成csv,在此阶段,我想附加已读取的原始csv文件的日期,因此,例如,我的输出应为:L1800_TX_with_vendor_260223.csv

代码必须是动态的,因此如果输入文件中的日期发生变化,则输出将相应更改

将 pandas 导入为 PD

df=pd.read_csv(“4G_5G_TX_260223.csv”,encoding = 'unicode_escape', engine ='python')

df['载体']=df['载体'].astype('字符串')

L1800_TX_with_vendor=df.loc[df['载波']==“20 MHz - EARFCN 1617”]

熊猫 python-2.7

评论

0赞 syed 3/28/2023
输入文件:4G_5G_TX_260223.csv
0赞 syed 3/28/2023
输出文件 :L1800_TX_with_vendor_260223.csv

答:

0赞 lambda07 4/1/2023 #1

如果日期总是追加在 _ 之后,如果它们总是在 .csv 之前。您可以使用 split 函数拆分特殊符号 _ 和 上的原始文件名。从名称字符串中获取日期。像这样:

date = "test_280323.csv".split('_')[-1].split('.')[0]

然后将提取的字符串添加到新文件名中,就在“.csv”之前

old_file_name_split = "L1800_TX_with_vendor.csv".split('.')
new_file_name = old_file_name_split[0] + date + old_file_name_split[1]

这一切都基于文件名格式保持一致的假设。

评论

0赞 syed 4/13/2023
thnaks,我如何使用提取的日期作为to_csv参数的一部分?所以我可以将数据帧转换为csv吗?
0赞 lambda07 4/13/2023
欢迎您的到来,如果您的问题得到回答,我们将希望投赞成票。我没有得到你的问题,to_csv的论据是什么?
0赞 syed 5/25/2023
您好,如果包含日期的文件名是动态的,我该如何使代码工作,我不想对文件名进行硬编码,