pandas - 如何删除非法字符以便数据框可以写入 Excel

标签 pandas export-to-excel

我正在尝试使用 ExcelWriter 将数据框写入 Excel 电子表格,但它一直返回错误:

openpyxl.utils.exceptions.IllegalCharacterError

我猜数据框中有一些 ExcelWriter 不喜欢的字符。看起来很奇怪,因为数据框是由三个 Excel 电子表格组成的,所以我看不出怎么会有 Excel 不喜欢的字符!

有没有办法遍历数据框并替换 ExcelWriter 不喜欢的字符?我什至不介意它是否只是删除它们。

从数据框中删除或替换非法字符的最佳方法是什么?

最佳答案

根据 Haipeng Su 的回答,我添加了一个执行此操作的函数:

dataframe = dataframe.applymap(lambda x: x.encode('unicode_escape').
                 decode('utf-8') if isinstance(x, str) else x)

基本上,它会转义 unicode 字符(如果它们存在)。它起作用了,我现在可以再次写入 Excel 电子表格了!

关于pandas - 如何删除非法字符以便数据框可以写入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42306755/

相关文章:

python - 修改数据框中的多行

excel - 使用 VBA 通过 Word 控制 Excel 时遇到问题;后期绑定(bind)和早期绑定(bind)不起作用

c# - 在 C# 中将 Excel 列(或单元格)格式化为文本?

python - 捕获 Pandas Dataframe 中的日期时间对象

python - k 个最近邻,具有准确度得分和混淆矩阵的交叉验证

python将列中的字符串重命名为指定字符串

python - Pandas Pivot with Strings-ValueError : Index contains duplicate entries, 无法 reshape

java - 如何禁用 Excel 报告中的 "grid line"选项?

c# - 将锯齿状数组直接转换为二维数组而不迭代每个项目?

python - to_excel() read_excel() 出现 Pandas Unicode 导入导出错误