提取文件名 'yyyymmdd.csv' 并显示字符串 'yyyy-mm-dd'

Extract the file name 'yyyymmdd.csv' and display the string 'yyyy-mm-dd'

我要输出字符串'2019-12-03'

=====

filename="20191203_volum.csv"
yyyy=filename[:4];print(yyyy)  
mm=filename[5:6];print(mm)  
dd=filename[7:8];print(dd)  
yyyymmdd=yyyy+'-'+mm+'-'+dd
print(yyyymmdd)

#I want to output the string '2019-12-03'
# '2019-12-03'

#The result of the program which does not go as expected is the following.
# '2019-2-3'

=====
我分别取出了yyyy,mm,dd。并加入了。
然而,结果却和预料的不一样

假设您文件名中的日期 总是_ 之前,您可以:

  1. 将日期提取为字符串,
  2. 解析字符串得到一个datetime对象,
  3. 然后按照您想要的方式进行格式化。

它将如下所示:

from datetime import datetime

filename = '20191203_volum.csv'
parts = filename.split('_')
str_date = parts[0]

my_date = datetime.strptime(str_date, "%Y%m%d")
formatted_date = my_date.strftime('%Y-%m-%d')

print(formatted_date)
# '2019-12-03'