gpt4 book ai didi

python - 使用 xlsxwriter 编码的 pandas 导致数据帧文本出现 'u' 前缀

转载 作者:行者123 更新时间:2023-12-01 09:07:20 42 4
gpt4 key购买 nike

我正在使用 xlsxwriter 通过 pandas to_excel 函数将数据框数据填充到 excel。但是,填充的数据在 Excel 中显示的文本前面有前缀“u”。

Excel 中的输出:[u'2017 年 9 月 5 日'][u'2017 年 9 月 5 日']

我知道“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 字符时变得更加轻松。

关于python - 使用 xlsxwriter 编码的 pandas 导致数据帧文本出现 'u' 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51944309/

42 4 0