我正在使用xlsxwriter通过pandas to_excel函数填充数据帧数据以Excel。但是,填充的数据在 Excel 中显示的文本前面具有前缀">u"。
Excel中的输出: [u'05-9月-17'] [u'05-9月-17']
我知道"u">指的是 unicode,有什么方法可以删除">u"前缀吗?
我已经尝试了以下内容,但到目前为止没有任何成功。
1( 在调用 func to_excel(( 之前通过正则表达式处理它
df.loc[:, 'delivery_dt'].replace({r'[^x00-x7F]+':''}, regex=True, inplace=True)
print 语句给出了我想要的结果,但是当它到达 to_excel(( 阶段时,unicode 'u' 前缀出现在 excel 的最终输出中。
我试图重现您的问题,但没有成功。您介意分享有关您正在导入的数据源的更多详细信息吗?
如果您的字符串最初是 unicode 并且您使用.to_excel('test.xls')
函数,那么它应该可以正常工作。如果要在 Excel 中强制进行特殊编码,请使用参数.to_excel('test.xls', encoding='utf16')
。
因此,请确保您知道原始数据的编码方式(例如您的csv文件或数据库(。加载到 Python 时,请始终尝试尽快用 unicode 解码数据。然后它应该开箱即用。
df['delivery_dt'] = df['delivery_dt'].apply(lambda x: unicode(x))
同样,与往常一样,使用 Python 3 可以让您在非 ASCII 字符方面的生活更加轻松。