繁体   English   中英

pandas to_excel 将 _x10e6 _ 转换为 ღ。 我该如何避免这种情况?

[英]pandas to_excel converts _x10e6 _ to ღ. How do I avoid this?

我一直在尝试创建一个 excel 文件,其中包含来自增量表的几张表,但是我的一些列名包括 _x10e6 _ 这显然被翻译为ღ。 我尝试使用 encoding='unicode_escape' 和 encoding='utf-8' 没有运气。 我无法使用 xlsxwriter,因为我要附加到现有文件。

有人知道我如何将 _x10e6 _ 保留在列名中吗?

我正在使用的部分代码:

goldDF = spark.read.format('csv')\
    .option('header', True)\
    .option('delimiter', ',')\
    .load(file_path)

pandaDF = goldDF.toPandas()


with pd.ExcelWriter('/tmp/output.xlsx',mode='a', engine='openpyxl') as writer:  
    pandaDF.to_excel(writer, sheet_name=name, index=False)

dbutils.fs.cp("file:/tmp/output.xlsx", "/mnt/delta_lake_path")    

问题是_x10e6_是字符 0x10E6 的 XML 转义码,相当于Unicode 字符“ღ”。

在类似的情况下, Excel 会将其转义为_x005F_x10e6_ 看起来 openpyxl 没有这样做,因此您可以使用字符串_x005F_x10e6_手动执行此操作,或者(对于不受 append 模式要求约束的任何阅读本文的人)将“引擎”切换到 xlsxwriter,这将自动转义它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM