【发布时间】:2014-06-11 06:41:22
【问题描述】:
您好,我有一个大约有 1000000 行的数据库。因为我想使用 mongodb,所以我编写了以下代码将其转换为 json,但这需要很多时间。还有其他方法可以解决这个问题吗?
import psycopg2
import json
con = psycopg2.connect(database)
cur = con.cursor()
sql="select * from mini; "
cur.execute(sql)
rows=cur.fetchall()
json_string=[]
for sample in rows:
#print(sample)
dicti={"label1":sample[0],"label2":sample[1],"label3":sample[2]}
#print(json.dumps(dicti))
json_string.append(dicti)
f=open('xyz.txt','w')
print >>f,json_string
f.close()
这里label1,label2,label3是sql的列名,如果有帮助的话。
【问题讨论】:
-
您是否尝试通过首先评论
rows=cur.fetchall()之后的所有内容(测量获取部分),然后仅评论f=open('xyz.txt','w')(获取 + 处理)来查看哪个部分长。反正你会消耗很多内存... -
我认为时间主要是由于 cur.fetchall() 因为数据是巨大的