ошибка чтения списка таблиц через итератор во фрейме данных в pandas - PullRequest
0 голосов
/ 01 мая 2020

Я читаю список таблиц с запросом sql через pandas в базе данных postgres. он читает только последнюю таблицу с одним фрагментом данных. Мне нужно прочитать первую таблицу и отправить запрос и итерировать и записать его в базу данных. Когда он завершит все строки, прочитайте вторую таблицу и запишите ее в базу данных с помощью чанка. После завершения всех таблиц соединение будет закрыто.

код:

chunksize=30
offset=0
j=0
counter=0

print('now Connected 1st')
conn1=psql.connect()
conn2=dvd.connect()
print('now Connected 2nd')
print('hello! now reading start')
list=['all_m_splty','all_m_lgd_states']
while True:
    for tale in list:
        sql="Select * from sha.%s Limit %d offset %d" % (table,chunksize,offset)
        print('Reading...')
        counter+=1
        if counter<len(table):
            for df in pd.read_sql_query(sql,conn1,chunksize=chunksize):
                print('writing...')
                df.to_sql(name=table,con=conn2, if_exists='replace',schema='public',index=False)
                offset+= chunksize
                j+=df.index[-1]+1
                print('Total no. of Rows inserted {} in {}'.format(j,table))
                if df.index[-1]+1 < chunksize:
                    print('Finish {}'.format(table))
            break
    break
print("Main DisConnected!")
conn.close()
conn2.close()

вывод:

now Connected 1st
now Connected 2nd
hello! now reading start
Reading...
writing...
Total no. of Rows inserted 30 in all_m_lgd_states
Main DisConnected!
...