在pandas中将CSV转换为sqlite3表 - " 8位字节串"错误

时间:2017-11-21 19:48:44

标签: python pandas csv sqlite

我正在尝试将表加载到sqlite3中。我目前使用的是csv格式。 该表有多种格式 - 文本,数字,日期,NaN ......

以下是代码:

import pandas as pd
import sqlite3
df = pd.read_csv("filename.csv")
conn = sqlite3.connect('test.db')
df.to_sql('file', conn, flavor='sqlite', if_exists='replace', index=False)

我收到以下错误:

ProgrammingError:除非使用可解释8位字节串的text_factory(如text_factory = str),否则不得使用8位字节串。强烈建议您只需将应用程序切换为Unicode字符串

数据库和sqlite表都不存在。我想将csv转换为该文件。

1 个答案:

答案 0 :(得分:0)

我的问题是通过向read_csv部分添加编码来解决的。

df = pd.read_csv("filename.csv", encoding='latin-1')