具有 XLSX写入器编码的熊猫导致数据框文本'u'前缀



我正在使用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 字符方面的生活更加轻松。

最新更新