将大型PostgreSQL表读入Python

时间:2018-01-17 07:57:11

标签: python postgresql bigdata hdf5 pytables

我的数据如下:

ID  date    Net Total       Class
11  201706  XN  0.607500    P
53  201709  M9  0.989722    V
68  201709  FM  3.736944    P
61  201701  ZK  1.121388    B
17  201705  F   1.969722    V

这是PosteGreSQL中的一个巨大的表(5亿条记录),我需要将它的一部分拉到Python中,如下所示:

sql_subset = str("""select * from table_name where date in 
                              (201709,201710,201711,201712) and Class = 'V';""")

df_sub = pd.read_sql(sql_subset,cnxn)

使用read_sql会产生内存错误。这个子集查询大约有58万条记录,我正在研究将其导入python的方法。

我考虑过的事情:

  1. HDF5和PyTables - 不确定如何使用Python将数据从PostgreSQL提取到HDF5 / PyTables。
  2. 每个月拆分成csv,然后将它们组合成一个pandas数据帧 - 但这不会给内存错误。

    有人可以指出我正确的方向来解决这个问题吗?

0 个答案:

没有答案