1.问题
我有一个带有时间戳的csv文件中的数据。 以下是这些时间戳格式的示例:
“2017年8月18日星期五00:00:00格林尼治标准时间+0200(欧洲中部地区)
熊猫似乎无法处理这样的字符串格式。 使用to_datetime函数检查pandas是否能够处理它,我有以下错误:
In [3]: pd.to_datetime('Fri Aug 18 2017 00:00:00 GMT+0200 (heure d%u2019été d%u2019Europe centrale)')
Out[3]: raise ValueError("Unknown string format:", timestr)
ValueError: ('Unknown string format:', 'Fri Aug 18 2017 00:00:00 GMT+0200 (heure d%u2019été d%u2019Europe centrale)')
2.识别的逻辑
但如果我删除blabla,它似乎会起作用:
In [4]: pd.to_datetime('Fri Aug 18 2017 00:00:00 GMT+0200')
Out[4]: Timestamp('2017-08-18 00:00:00-0200', tz='pytz.FixedOffset(-120)')
因此,让熊猫正确理解此列为带时区的时间戳的解决方案是首先剥离blabla:
“欧洲中央银行(heure d%u2019étéd%u2019欧洲中央银行)”
然后应用to_datetime函数
3.实施
所以,我试着使用下面几行代码,但它就是不起作用
数据帧是:
,date
0,Fri Aug 18 2017 00:00:00 GMT+0200 (heure d%u2019été d%u2019Europe centrale)
1,Sat Aug 19 2017 00:00:00 GMT+0200 (heure d%u2019été d%u2019Europe centrale)
数据帧存储为“GC” 我试过:
for ts in GC[1][:]:
ts.replace(' (heure d%u2019été d%u2019Europe centrale)')
ts.to_datetime()
我有这个输出(我不太清楚-我正在使用spyder,这可能不是很有帮助)
File "pandas\_libs\hashtable_class_helper.pxi", line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 1
请问,正确的方法是什么? 我事先感谢你的帮助
祝你过得愉快
最好的
皮埃罗
将^{} 与列
date
和regex=False
一起使用,以避免读取类似()
的正则表达式:或者您可以使用转义
)
按\)
分割值,因为正则表达式的特殊字符:相关问题 更多 >
编程相关推荐