如何在python中删除YYYYMMDD中的DD

问题描述 投票:-1回答:2

我需要删除日期,我尝试使用datetime.strftime和datetime.strptime,但它无法正常工作。我需要从嵌套列表中创建一个包含2个项目(日期,价格)的元组,但我需要先更改日期格式。这是代码的一部分:

def get_data(my_csv):
   with open("my_csv.csv", "r") as csv_file:
   csv_reader = csv.reader(csv_file, delimiter = (','))
   next(csv_reader)
   data = []
   for line in csv_reader:
       data.append(line)
return data

def get_monthly_avg(data):
    oldformat = '20040819'
    datetimeobject = datetime.strptime(oldformat,'%y%m%d')
    newformat = datetime.strftime('%y%m ')
python python-3.x datetime-format
2个回答
1
投票

你没有指定任何代码,但这可能有效:

date = functionThatGetsDate()
date = date[0:6]

1
投票

你错过了日期格式的打印。 'Y'必须资本化。

from datetime import datetime
# use datetime to convert
def strip_date(data):
    d = datetime.strptime(data,'%Y%m%d')
    return datetime.strftime(d,'%Y%m')

data = '20110513'
print (strip_date(data))
# or just cut off day (2 last symbols) from date string 
print (data[:6])

第一个变体更好,因为您可以验证字符串是否采用正确的日期格式。

输出:

201105
201105
© www.soinside.com 2019 - 2024. All rights reserved.