在导入sql后对数据帧进行编码

时间:2013-08-19 19:20:45

标签: python pandas pyodbc

我导入了一张带有pandas read_frame的表格。

我的DataFrame有特殊字符,例如é,à等。当我想要显示它时,我有奇怪的角色。

我想知道如何编码我的html输出:

import pandas 
import pandas.io.sql
from IPython.display import HTML

df = pandas.io.sql.read_frame('a valid sql query') 
HTML(df.to_html())

我需要使用HTML输出来显示所有列(我有90列) 当我导入到csv

时,这是有效的编码'cp1252'

发布后编辑:

我想用图片编辑我的帖子,但我需要10个声誉才能这样做...实际上我没有在我的连接中添加任何内容。是否可以使用sql.read_frame?我使用了一个pyodbc:

import pyodbc
cnxn = pyodbc.connect('DRIVER={Teradata};DBCNAME=PRD;UID=***;PWD=***;QUIETMODE=YES;')

df = pandas.io.sql.read_frame("""select  * from *""", cnxn )

1 个答案:

答案 0 :(得分:3)

尝试下一步添加到您的连接创建:

cnxn = pyodbc.connect('DRIVER={Teradata};DBCNAME=PRD;UID=*;PWD=*;QUIETMODE=YES;',
                       unicode_results=True)

这应确保从您的连接返回的所有字符串都是unicode。其余的将由pandas和IPython Notebook处理。