Seb*_*ian 6 python unicode twitter python-dateutil
我使用sixohsix库从Twitter API解析一些推文的数据.我试图将推文的日期转换为我的语言环境:
from pytz import timezone
from dateutil import parser
timestamp = parser.parse(tweet["created_at"])
timestamp_arg = timestamp.astimezone(timezone('America/Buenos_Aires'))
Run Code Online (Sandbox Code Playgroud)
我得到一个unicode警告:
dateutil\parser.py:339:UnicodeWarning:Unicode相等比较无法将两个参数都转换为Unicode - 将它们解释为在time.tzname中的不等elif res.tzname和res.tzname:
我试过了
parser.parse(str(tweet["created_at"]))
parser.parse(unicode(tweet["created_at"]).encode())
Run Code Online (Sandbox Code Playgroud)
但没有变化.
除了警告,似乎没有什么打破.有谁知道为什么会发生这种情况,以及如何解决这个问题?
谢谢!
我尝试了相同的例子,但硬编码时间到字符串,没有警告的情况下工作.此外,根据该警告味精问题似乎在解析调用的情况发生,在parser.py:339时做
res.tzname in time.tzname
Run Code Online (Sandbox Code Playgroud)
也许是因为res是unicode而time.tzname不是??
这是dateutil中的一个未解决的错误(从2.2版本开始),只发生在Windows上:https://bugs.launchpad.net/dateutil/+bug/1227221
除非您尝试使用非ascii字符解析时区,否则Dateutil仍将正常运行.我认为这很不寻常,所以你应该没问题.
最简单的解决方法可能只是为了消除错误.
import warnings
warnings.filterwarnings("ignore", category=UnicodeWarning)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2632 次 |
| 最近记录: |