TypeError:在python中使用replace()时需要一个整数

Jav*_*een 3 python string

我正在尝试解析日期并将其放入正确的格式,这是我迄今为止尝试过的:

import csv
import sys
import os
import re
import fnmatch
import csv
from dateutil.parser import parse as parseDate
from datetime import datetime, time, timedelta

chaine = '16/12/201602:15:00'
date = chaine[:10] + " " + chaine[11:]
print date
newd = parseDate(date, yearfirst=True)
print newd
newd = newd.replace('-','')
newd = newd.replace(':','')
print newd
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:

16/12/2016 2:15:00
2016-12-16 02:15:00
Traceback (most recent call last):
  File "t.py", line 25, in <module>
    newd = newd.replace('-','')
TypeError: an integer is required
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

谢谢

Wik*_*żew 5

要修复您当前的逻辑,您需要将newd变量转换为字符串parseDate

newd = str(newd).replace('-','')
       ^^^^^^^^^ 
Run Code Online (Sandbox Code Playgroud)

查看Python 演示

或者,使用strptime/ strftime

from dateutil.parser import parse as parseDate
from datetime import datetime, time, timedelta
from time import strftime

chaine = '16/12/201602:15:00'
dt = datetime.strptime(chaine, '%d/%m/%Y%I:%M:%S')
# 16/12/2016 2:15:00
print(dt.strftime("%Y/%m/%d %H:%M:%S"))
#2016-12-16 02:15:00
print(dt.strftime("%Y-%m-%d %H:%M:%S"))
# 20161216 021500
print(dt.strftime("%Y%m%d %H%M%S"))
Run Code Online (Sandbox Code Playgroud)

请参阅另一个 Python 演示