我安装了pgadmin4 1.3(在码头容器中),除CSV导出外,一切工作正常。pgadmin4 1.3提高CSV导出损坏
我填写二进制路径正确的首但它仍然没有工作。我没有错误信息。当我点击CSV导出图标时,什么都没有发生。
这里是我的配置:
- Python版本:2.7.12
- 的PostgreSQL的版本:9.5
- 的pgAdmin版本:4.1.3
- 的Ubuntu 16.04
如果有人有同样的问题,并希望知道如何解决它,你可以请帮忙吗?
谢谢!
我安装了pgadmin4 1.3(在码头容器中),除CSV导出外,一切工作正常。pgadmin4 1.3提高CSV导出损坏
我填写二进制路径正确的首但它仍然没有工作。我没有错误信息。当我点击CSV导出图标时,什么都没有发生。
这里是我的配置:
如果有人有同样的问题,并希望知道如何解决它,你可以请帮忙吗?
谢谢!
我终于找到了罪魁祸首!
我查看了/var/log/apache2/errors.log,并在CSV创建过程中看到一个UnicodeEncodeError
。错误从这个文件中传来:
/usr/local/lib/python2.7/dist-packages/pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py
651线,书写特殊字符时喜欢强调字符的CSV作家被打破(我使用Python 2,我想我不会有与Python 3的问题) :
csv_writer.writerows(results)
最后我解决它使用unicodecsv
库:
pip install unicodecsv
import csv
与import unicodecsv as csv
csv.DictWriter(res_io, encoding='utf-8', fieldnames=header, delimiter=str(','), quoting=csv.QUOTE_NONNUMERIC)
希望它可以帮助其他人,而此编码错误是不固定的替代csv.DictWriter(res_io, fieldnames=header, delimiter=str(','), quoting=csv.QUOTE_NONNUMERIC)
!
我们(社区)已在1.5中解决了此问题。因此,您不需要在../pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py文件中进行修改。请参阅https://redmine.postgresql.org/versions/48上的问题2253,2314,2360 –
好的。谢谢 ! –
我们(社区)已经在1.5中解决了这个问题。因此,您不需要在../pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py文件中进行修改。请参阅https://redmine.postgresql.org/versions/48上的问题2253,2314,2360 –