问题描述
我在数据库中有一个复杂的表结构,正在阅读熊猫的DataFrame。在打印DataFrame时,所有内容都可以正确打印,但是当我以CSV转储或将其转换为列表(每个DataFrame行作为列表)时,我在几列中看到以下数据:
更多调试之后,我知道它们是Postgres的BYTEA列,也许对话正在下降。但是实际的困惑是,如果打印效果很好,为什么无法写入CSV。有什么办法可以原始转储dataFrames?
解决方法
尝试使用特殊编码保存csv:
df.to_csv(r"C:\your path\ file.csv,index =True,encoding='utf-8-sig')
尝试更改保存BYTEA
数据的列的类型
df[col_name] = df[col_name].astype(bytes)
df.to_csv(filename)