A-A+
AttributeError: ‘str’ object has no attribute ‘strftime’ 解决方法
所以我有一个使用以下进口的脚本:时遇到一个日期字符串转换为unix时间戳
import sys
import os.path
import requests
import json
import csv
import glob2
import shutil
from time import sleep
from time import gmtime, strftime
import time
from datetime import datetime
我想转换row[15]
这是一个日期字符串,看起来像"23/03/2015 00:00"
(读取一个csv)到unix时间。
这是什么代码部分看起来像:
{"name":"referral_date", "value": time.mktime(datetime.strptime(row[15], "%d/%m/%Y %H:%S").timetuple()) }
每次我尝试它,它回来了这一点:
AttributeError: 'str' object has no attribute 'mktime'
然而,在一个单独的测试文件,我已经试过如下:
import time
from datetime import datetime
mylist = ["23/03/2015 00:00"]
test = time.mktime(datetime.strptime(mylist[0], "%d/%m/%Y %H:%S").timetuple())
print(test)
哪像你所期望的,结果1427031000.0
- 我在做什么错?
---------答案---------
查看您的代码:某处您可能已经声明了一个名为time
的变量,它是一个字符串。它试图在该变量上调用mktime
,这就是为什么你的错误引用了str
对象。
解决此问题的最简单方法是将time
变量的名称更改为其他名称。如果你想解决这个问题,而不改变该变量的名字,你可以用不同的名字像这样导入time
:
import time as timelibrary
然后调用timelibrary.mktime
。
博主本人记录,我就是因为自己重写了time函数,然后我忘了,导致的这个问题出现。。。。
文中来源:http://cn.voidcc.com/question/p-beremqde-bhy.html
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏