使用read_sql_query时,python代码终止

时间:2015-07-07 11:35:14

标签: python sql pandas sqlite

我有两个表:trainSearcStream和SearchInfo。我的代码应该基于名为SearchID的公共列合并两个表。问题是代码运行了一段时间然后终止而没有在我的eclipse控制台中报告任何错误。每个表中的数字或行是:trainSearchStream | 392,356,948和 SearchInfo | 112159462。我的数据库(包括其他表)的大小是40GB。 更新:当我在终端中运行代码时,我收到一条消息:'killed:9'

import pandas as pd
import sqlite3


# Create connection.
con = sqlite3.connect(path + 'database.sqlite')

#read into a data frame
df = pd.read_sql_query("SELECT * FROM trainSearchStream, SearchInfo WHERE  trainSearchStream.SearchID = SearchInfo.SearchID;", con)

#save to file
df.to_csv(path + 'traindata.csv',index=False,encoding='utf-8')

1 个答案:

答案 0 :(得分:1)

如前所述,我认为最好的方法是直接使用sqlite而不是python。

所以解决方法是,我猜,this

sqlite> .mode csv
sqlite> .output test.csv
sqlite> SELECT * FROM trainSearchStream, SearchInfo WHERE  trainSearchStream.SearchID = SearchInfo.SearchID; /*your query here*/
sqlite> .output stdout

很抱歉,这不是答案,但使用代码进行评论会破坏缩进,我们正在使用python ......

你可以运行这个并给我们输出吗? (打印的是什么)

import pandas as pd
import sqlite3


# Create connection.
con = sqlite3.connect(path + 'database.sqlite')

try:
    df = pd.read_sql_query("SELECT * FROM trainSearchStream, SearchInfo WHERE  trainSearchStream.SearchID = SearchInfo.SearchID;", con)
    print "read_sql_query went well"
except Exception, e:
    print "read_sql_query failed: "+ str(e))

try:
    df.to_csv(path + 'traindata.csv',index=False,encoding='utf-8')
    print "to_csv went well"
except Exception, e:
    print "to_csv failed: "+ str(e))
相关问题