[英]Python encoding issue with pandas read_sql
因此,我嘗試將兩個字符串編碼為utf-8,以便可以將其與pandas.read_sql一起使用:
selectedTable = "ACC__AccountCodes"
baseSql = "SELECT * FROM FileMaker_Fields WHERE TableName="
現在,當我對這兩件事進行編碼時:
baseSql.encode('utf-8')
selectedTable.encode('utf-8')
sqlString = "{}{}".format(baseSql, selectedTable)
我的輸出如下所示:
b'SELECT * FROM FileMaker_Fields WHERE TableName='b'A\\x00C\\x00C\\x00_\\x00_\\x00A\\x00c\\x00c\\x00o\\x00u\\x00n\\x00t\\x00C\\x00o\\x00d\\x00e\\x00s\\x00''
因此,當我使用設置為“ latin1”的編碼運行它時,出現錯誤:
pandas.io.sql.DatabaseError: Execution failed on sql 'SELECT * FROM FileMaker_Fields WHERE TableName=ACC__AccountCodes': ('HY000', '[HY000] [\x00F\x00i\x00l\x00e\x00M\x00a\x00k\x00e\x00r\x00]\x00[\x00F\x00i\x00l\x00e\x00M\x00a\x00k\x00e\x00r\x00]\x00 \x00F\x00Q\x00L\x000\x000\x000\x007\x00/\x00(\x001\x00:\x004\x007\x00)\x00:\x00 \x00T\x00h\x00e\x00 \x00c\x00o\x00l\x00u\x00m\x00n\x00 \x00n\x00a\x00m\x00e\x00d\x00 \x00"\x00A\x00"\x00 \x00d\x00o\x00e\x00s\x00 \x00n\x00o\x00t\x00 \x00e\x00x\x00i\x00s\x00t\x00.....
我似乎找不到任何解決此問題的方法。 我嘗試過的所有事情都會使我回到這個問題,這會導致語法無效的SQL錯誤。 我正在使用pyodbc,它希望將utf-8編碼作為輸入。 有什么想法嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.