2014-06-25 18 views
0

我正在使用熊猫来组织和操作从Twitter API获取的数据。 'id'键返回一个非常长的整数(int64),熊猫没有问题处理(即481496718320496643)。当使用to_sql发送到SQLite数据库时,熊猫数据框中的长整型值发生更改

然而,当我发送到SQL:

df.to_sql('Tweets', conn, flavor='sqlite', if_exists='append', index=False)

我现在已经鸣叫ID:481496718320496640或一些接近这个数字。

我将tweet ID转换为str,但Pandas SQLite驱动程序/ SQLite仍然会混淆数字。 SQLite数据库中的数据类型是[tweet_id] INTEGER。发生了什么事情,如何防止这种情况发生?

+1

这在SQLite本身中工作正常。这听起来好像熊猫SQLite驱动程序将其视为浮点数字。 –

+0

你使用的是什么版本的熊猫?有或没有sqlalchemy? – joris

回答

0

我发现了这个问题 - 我使用SQLite管理器(Firefox插件)作为SQLite客户端。无论出于何种原因,SQLite Manager都会错误地显示推文ID,即使它们被正确存储(即,当我查询时,我会得到所需的值)。很奇怪,我必须说。我下载了不同的SQLite客户端来查看数据并正确显示。

+1

[已知错误](https://code.google.com/p/sqlite-manager/issues/detail?id=3) –

相关问题