提取文件名'yyyymmdd.csv'并显示字符串'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。并加入。
但是,结果与预期不同。

  • mm = 12但2
  • dd = 03,但变为3。


    我应该如何编写程序?我希望你告诉我。

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

  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'

最新更新