示例:用python_dataset導入900w條數據到oracle

示例:python用dataset導入900w條數據到oracle

dataset可以批量導入數據庫,以dict結構就可以導入數據庫

import dataset
import logging
import time
def handle_txt():
    ids = []
    uids= []
    with open('./xxx.txt',mode='r',encoding="utf8") as f:
        rows = f.readlines()
        for row in rows:
            text = row.split(',')
            ids.append(text[0])
            uids.append(text[1])

    logging.StreamHandler(stream=None)
    db = dataset.connect('oracle://"用戶名":“密碼”@“數據庫連接名”')
    table = db['tablename']


    import_data = []
    data = zip(ids,uids)
    data = list(data)
    for i in data :
        start_time = time.time()
        import_data.append(dict(id=i[0], uid=i[1]))
        if len(import_data) == 20000:
            table.insert_many(import_data)
            import_data = []
        end_time = time.time()
        cost_time = end_time - start_time
        logging.info("%s" % cost_time)

    import_data = []
    start_num = len(data) % 20000
    print(start_num)
    data_save = data[-start_num:]
    for i in data_save:
        import_data.append(dict(id=i[0], uid=i[1]))
        table.insert_many(import_data)
    db.commit()


if __name__ == '__main__':
    data= handle_txt()







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章