0
我被困在Python中的UnicodeEncodeError
一段時間。Python MySQL enconding錯誤
下面是我在做什麼:
- 我創建了一個數據幀作爲各種分析的結果。總的來說,數據幀有30列,有多種類型的值(
int
,string
,datetime
等)。 - 我在Azure中創建一個遠程實例的SSH連接,我已經安裝了MySQL。我使用
SQLAlchemy
創建連接。 - 我運行
df.to_sql
命令,並出現以下錯誤
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2013' in position 8: ordinal not in range(256)
這樣做,我試過,但它似乎沒有工作。
engine = create_engine('mysql+pymysql://user:[email protected]:%s/db?charset=utf8' % server.local_bind_port)
我已閱讀here,我可以使用u.encode('latin-1', 'replace')
。但是,我是否需要執行該操作並遍歷每個String
列並對其進行編碼?還是有什麼我可以做的嗎?
任何幫助非常感謝!
你正在使用哪個版本的python? – pshep123
@ pshep123 - 在Azure中我使用Python 2.7.12 - 在我的本地PC中2.7.13 Anaconda 4.4.0 –
謝謝。不幸的是,我無法幫助你,但我自己也在遇到unicode問題,並且通過我最近的研究,已經認識到python 3和python 2處理文本格式的方式不同,因此對於那些更重要的我比我知道哪個版本。在此同時閱讀一些內容:https://docs.python.org/2/howto/unicode.html,可能會有所幫助。 – pshep123