Python 数据帧中的编码错误

Python 数据帧中的编码错误,python,encoding,pandas,non-ascii-characters,Python,Encoding,Pandas,Non Ascii Characters,在pandas dataframe中,当写入csv时,通过添加参数encoding='utf-8' 然而,这有一个问题。如果您直接从数据库获取数据并将其直接放入数据框,则在写入csv时,即使使用编码,也会出现错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 24-25: ordinal not in range(128) 因此,在将数据放入数据帧之前,确实需要进行一些解码/编码 有人对此有简单的解

在pandas dataframe中,当写入csv时,通过添加参数
encoding='utf-8'

然而,这有一个问题。如果您直接从数据库获取数据并将其直接放入数据框,则在写入csv时,即使使用编码,也会出现错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 24-25: ordinal not in range(128)
因此,在将数据放入数据帧之前,确实需要进行一些解码/编码


有人对此有简单的解决方案吗?

如果要从数据库创建数据帧,可以使用:


这里con是一个连接对象,例如使用sqlite3或mysqldb创建的。

当您读取数据库时,可能需要指定编码。我有过好几次这样的问题。
df = pd.read_sql('SELECT * FROM foo', con)