Извлеките имя файла 'yyyymmdd.csv' и отобразите строку 'yyyy-mm-dd' - PullRequest
0 голосов
/ 04 мая 2019

Я хочу вывести строку '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'

=====
Я вынул гггг, мм, дд соответственно.И присоединился.
Однако результат отличался от ожидаемого.

  • мм = 12, но 2
  • dd = 03, но стал 3.


    Как мне написать программу?Я хотел бы, чтобы вы сказали мне.

1 Ответ

0 голосов
/ 04 мая 2019

Предполагая, что дата в вашем имени файла всегда до _, вы можете:

  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'
...