superset csv 导出相关问题 记录
1、csv 导出中文乱码问题
修改config配置 改为使用utf-8-sig编码
2、导出csv格式 表头取 列的别名
修改 superset/viz.py 中 get_csv 函数
def get_csv(self):
df = self.get_df()
# 导出csv 替换成 数据源中的label
columns = list(df.columns)
verbose_map = self.datasource.data.get('verbose_map', {})
df.columns = [verbose_map.get(c, c) for c in columns]
include_index = not isinstance(df.index, pd.RangeIndex)
return df.to_csv(index=include_index, **config["CSV_EXPORT"])
3、sqllab查询结果 导出csv,会报错误
报错:
UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 9-13: ordinal not in range(256)
原因:查询tab的名字中包含中文
解决:
修改superset/views/core.py 中 def csv(self, client_id):函数
修改编码
response.headers[

本文记录了在使用Superset时遇到的CSV导出问题,包括中文乱码的解决方案,通过修改配置文件以使用utf-8-sig编码。另外,针对导出的CSV表头采用列别名的设置,需要在superset/viz.py的get_csv函数中进行调整。此外,当在sqllab中尝试导出包含中文的查询结果时,会遇到Unicode编码错误,这需要更新core.py中的csv函数来修正编码问题。
最低0.47元/天 解锁文章
1903

被折叠的 条评论
为什么被折叠?



