2015-10-26 41 views
1

这是我第一次发布堆栈溢出,所以请耐心等待。我一直在网上搜索整整一天,但我一直无法解决这个问题。使用熊猫方法to_sql时UnicodeEncodeError在具有unicode列名的数据框上

基本上,我在列名中有一个带有unicode字符的Pandas DataFrame,当我尝试使用to_sql将数据存储在数据库中时,出现UnicodeEncodeError。我可以重现错误与下面的代码:

import pandas as pd 
from sqlalchemy import create_engine 

df = pd.DataFrame([[1,2],[3,4]], columns = [u'\xe9',u'b']) 
engine = create_engine('mysql://root:[email protected]/testdb') 
df.to_sql('data', engine, if_exists = 'replace', index = False) 

追溯的最后一行是这样的:

C:\Users\isaac_000\Anaconda\lib\site-packages\pandas\io\sql.pyc in _get_column_names_and_types(self, dtype_mapper) 
857    dtype_mapper(self.frame.iloc[:, i]), 
858    False) 
--> 859    for i in range(len(self.frame.columns)) 
860    ] 
861 

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128) 

我希望得到任何帮助你们可以提供。让我知道你是否需要更多信息。谢谢!

+0

哇,谢谢joris,这似乎已经解决了问题! – Isaac

回答

相关问题