[英]how to substring string in python?
我有如下文件名:
PRJ25 Sample1 Siver_Output_Log_2020_11_10_13.csv
PRJ25 Sample1 Siver_Output_Log_2020_12_30_4_1.csv
PRJ25 Sample1 Siver_Output_Log_2021_1_8_4.csv
我希望這些文件名中的 output 為year, month, day
。 我嘗試了下面的代碼,但文件名不一致,所以我無法獲得這些值,預期結果:
year : 2020 or 2021
month: 11 or 12 or 1
day: 10 or 30 or 8
我的代碼:
year = file_name[len(file_name) - 14:len(file_name) - 10]
month = file_name[len(file_name) - 9:len(file_name) - 8]
day = file_name[len(file_name) - 7:len(file_name) - 6]
嘗試這個:
files = [
"PRJ25 Sample1 Siver_Output_Log_2020_11_10_13.csv",
"PRJ25 Sample1 Siver_Output_Log_2020_12_30_4_1.csv",
"PRJ25 Sample1 Siver_Output_Log_2021_1_8_4.csv",
]
results = [f.split("Log_")[-1].rsplit("_")[:3] for f in files]
print(results)
for result in results:
year, month, day = result
print(year, month, day)
# do your stuff here
Output:
[['2020', '11', '10'], ['2020', '12', '30'], ['2021', '1', '8']]
2020 11 10
2020 12 30
2021 1 8
您可以使用拆分 function:
year = file_name.split('_')[3]
拆分將您的字符串轉換為由您指定的字符分隔的字符串列表。 一年來,我檢索了第四個。
你可以試試這個:
year, month, day, last_num = filename.split("_")[-4:]
last_num = last_num.split(".")[0]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.