繁体   English   中英

使用 python 和 boto3 抓取部分文件名

[英]Grabbing parts of filename with python & boto3

我刚开始使用 python,我还是个新手,我想创建一个 function 来抓取与特定模式相对应的部分文件名,这些文件存储在 s3 存储桶中。

所以就我而言,假设我有 5.txt 文件

Transfarm_DAT_005995_20190911_0300.txt Transfarm_SupplierDivision_058346_20190911_0234.txt Transfarm_SupplierDivision_058346_20200702_0245.txt Transfarm_SupplierDivision_058346_20200703_0242.txt Transfarm_SupplierDivision_058346_20200704_0241.txt

我希望脚本通过这些文件名变为 go,在文件扩展名之前获取字符串“类别即“Transfarm_DAT”和日期“20190911””。

你能指出 Python 模块和可能的指南可以帮助我的方向吗?

如果您的文件名总是这样,请检查splitjoin功能。 否则,正则表达式是另一种途径。

files_list = ['Transfarm_DAT_005995_20190911_0300.txt ', 'Transfarm_SupplierDivision_058346_20190911_0234.txt',
'Transfarm_SupplierDivision_058346_20200702_0245.txt', 'Transfarm_SupplierDivision_058346_20200703_0242.txt', 'Transfarm_SupplierDivision_058346_20200704_0241.txt']

category_list = []
date_list = []
for f in files_list:
    date = f.split('.')[0].split('_',2)[2]
    category = '_'.join([f.split('.')[0].split('_')[0], f.split('.')[0].split('_')[1]])
    # print(category, date)
    category_list.append(category)
    date_list.append(date)
print(category_list, date_list)

Output 列出:

['Transfarm_DAT', 'Transfarm_SupplierDivision', 'Transfarm_SupplierDivision', 'Transfarm_SupplierDivision', 'Transfarm_SupplierDivision'] ['005995_20190911_0300', '058346_20190911_0234', '058346_20200702_0245', '058346_20200703_0242', '058346_20200704_0241']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM