簡體   English   中英

python替換中需要一個整數

[英]python an integer is required in replace

這是我的代碼

for date in self.getDateRange():
          date = date.replace('-','/')

這是getDateRange函數:

def getDateRange(self):
    from datetime import date, datetime, timedelta
    return self.perdelta(date(2000, 01, 01), date(2015, 8, 03), timedelta(days=1))

def perdelta(self, start, end, delta):
    curr = start
    while curr < end:
        yield curr
        curr += delta

這是錯誤消息

MySpider.py", line 19, in parse
            date = date.replace('-','/')
        exceptions.TypeError: an integer is required

太奇怪了,我總是能夠進行替換,沒有任何問題,我不知道為什么在這里

您正在使用具有自己的replace()方法的實際date對象進行操作:

 date.replace(year, month, day) 

返回具有相同值的日期,但那些通過指定關鍵字參數給定新值的參數除外。 例如,如果d == date(2002,12,31),則d.replace(day = 26)== date(2002,12,26)。

該方法僅采用整數。 如果要以字符串形式處理日期,則需要對其進行轉換。 但是由於您已經有了對象,因此可以使用strftime()將斜線格式化為分隔符。

列表中的對象不是字符串。 它們是日期時間對象( https://docs.python.org/2/library/datetime.html )。

您應該使用date.strftime以所需的任何格式輸出日期。 有關完整的格式設置選項,請參閱https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

例如,您可能需要date.strftime('%m /%d /%Y')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM