Python UnicodeEncodeError仅在某些PC上出现
我有下面列出的示例代码,从sqlite数据库读取数据并将其导入到一些dataframe中 当我在桌面上运行它时,它会打印所需的输出Python UnicodeEncodeError仅在某些PC上出现,python,sqlite,pandas,Python,Sqlite,Pandas,我有下面列出的示例代码,从sqlite数据库读取数据并将其导入到一些dataframe中 当我在桌面上运行它时,它会打印所需的输出 Datenbank anlegen Datum Name 0 160105 12351.3 但是,在我的笔记本电脑上运行时,我收到一个Unicode警告: 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] Python Type "help", "copyrig
Datenbank anlegen
Datum Name
0 160105 12351.3
但是,在我的笔记本电脑上运行时,我收到一个Unicode警告:
2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]
Python Type "help", "copyright", "credits" or "license" for more information.
[evaluate 2016-01-10 Test PD.py]
C:\Python27\lib\pkgutil.py:380: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
importer = sys.path_importer_cache[path_item]
Traceback (most recent call last):
File "C:\Users\....\2016-01-10 Test PD.py", line 2, in <module>
import pandas as pd
File "C:\Python27\Lib\site-packages\pandas\__init__.py", line 13, in <module>
from pandas import hashtable, tslib, lib
File "C:\.....\pandas\tslib.pyx", line 61, in init pandas.tslib (pandas\tslib.c:103021)
File "C:\Python27\Lib\site-packages\pytz\__init__.py", line 31, in <module>
from pkg_resources import resource_stream
File "C:\Python27\Lib\site-packages\pkg_resources.py", line 2829, in <module>
working_set = WorkingSet._build_master()
File "C:\Python27\Lib\site-packages\pkg_resources.py", line 440, in _build_master
ws = cls()
File "C:\Python27\Lib\site-packages\pkg_resources.py", line 433, in __init__
self.add_entry(entry)
File "C:\Python27\Lib\site-packages\pkg_resources.py", line 489, in add_entry
for dist in find_distributions(entry, True):
File "C:\Python27\Lib\site-packages\pkg_resources.py", line 1817, in find_distributions
importer = get_importer(path_item)
File "C:\Python27\Lib\pkgutil.py", line 387, in get_importer
importer = path_hook(path_item)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 44: ordinal not in range(128)
pandas和numpy在笔记本电脑上更新(pandas 0.17.1而不是0.15.2,numpy 1.7.1而不是1.6.2)
数据似乎是以unicode的形式写入sqlite数据库的,而pd.read_sql不知何故不喜欢它
我在这里有点迷路了,谢谢你的帮助
谢谢,
托马斯似乎
import sys
reload(sys)
sys.setdefaultencoding( "latin-1" )
解决了这个问题。不幸的是,我无法正确解释原因,我只知道setdefaultencoding是一个默认情况下未加载的参数,这就是为什么需要重新加载的原因。添加
import sys
reload(sys)
sys.setdefaultencoding( "latin-1" )
解决了这个问题。不幸的是,我无法正确解释原因,我只知道setdefaultencoding是一个默认情况下不加载的参数,这就是为什么需要重新加载的原因。听起来每个参数上的代码集不同,甚至可能是字体。您是否检查了区域设置?这可能是由于您提到的版本更改造成的。我对behave框架也有同样的问题。尝试与熊猫一起跑步0.15.2version@cdark:我现在在两台计算机上都添加了“import locale.setlocale(locale.LC_ALL,'deu_deu')”,但没有改变任何内容。这就是你的意思吗?不,是Windows控制面板中设置的区域设置。检查它们是否相同。cmd.exe字体是否相同?可能是控制台设置导致了错误。@keya:我降级到pandas 0.15.2,但这没有改变任何东西。听起来每个控制台上的代码集不同,甚至可能是字体。您是否检查了区域设置?这可能是由于您提到的版本更改造成的。我对behave框架也有同样的问题。尝试与熊猫一起跑步0.15.2version@cdark:我现在在两台计算机上都添加了“import locale.setlocale(locale.LC_ALL,'deu_deu')”,但没有改变任何内容。这就是你的意思吗?不,是Windows控制面板中设置的区域设置。检查它们是否相同。cmd.exe字体是否相同?可能是控制台设置导致了错误。@keya:我降级到pandas 0.15.2,但这并没有改变任何东西。