2017-04-07 29 views
1

我安裝了pgadmin4 1.3(在碼頭容器中),除CSV導出外,一切工作正常。pgadmin4 1.3提高CSV導出損壞

我填寫二進制路徑正確的但它仍然沒有工作。我沒有錯誤信息。當我點擊CSV導出圖標時,什麼都沒有發生。

這裏是我的配置:

  • Python版本:2.7.12
  • 的PostgreSQL的版本:9.5
  • 的pgAdmin版本:4.1.3
  • 的Ubuntu 16.04

如果有人有同樣的問題,並希望知道如何解決它,你可以請幫忙嗎?

謝謝!

+0

我們(社區)已經在1.5中解決了這個問題。因此,您不需要在../pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py文件中進行修改。請參閱https://redmine.postgresql.org/versions/48上的問題2253,2314,2360 –

回答

1

我終於找到了罪魁禍首!

我查看了/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
  • 線22:更換import csvimport unicodecsv as csv
  • 線647:與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)

+0

我們(社區)已在1.5中解決了此問題。因此,您不需要在../pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py文件中進行修改。請參閱https://redmine.postgresql.org/versions/48上的問題2253,2314,2360 –

+0

好的。謝謝 ! –