提取文件名 '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。并加入了。
然而,结果却和预料的不一样
- mm = 12 但 2
- dd = 03 但变成了 3.
我应该如何编写程序?我想让你告诉我。
假设您文件名中的日期 总是 在 _
之前,您可以:
- 将日期提取为字符串,
- 解析字符串得到一个
datetime
对象,
- 然后按照您想要的方式进行格式化。
它将如下所示:
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'
我要输出字符串'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.
我应该如何编写程序?我想让你告诉我。
假设您文件名中的日期 总是 在 _
之前,您可以:
- 将日期提取为字符串,
- 解析字符串得到一个
datetime
对象, - 然后按照您想要的方式进行格式化。
它将如下所示:
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'