Python UnicodeEncodeError仅在某些PC上出现

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

我有下面列出的示例代码,从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", "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,但这并没有改变任何东西。