Крепление извлечения данных - PullRequest
0 голосов
/ 10 мая 2018

У меня более 1 миллиона строк данных в базе данных SQL. Я хочу записать все эти данные в файл TSV. Я использую приведенный ниже код для получения 100000 строк. Получение и запись в файл TSV занимает около 20 минут. Любой другой способ закрепить этот процесс?

 cursor.execute("select top(100000) from dbo.StoreLocations_Repo_V10")       
 store_details = cursor.fetchall()
 store_details_list = [list(elem) for elem in store_details] 
 df = pd.DataFrame(store_details_list)          

 with open('result.tsv', 'w', encoding='UTF-8') as f:
    df.to_csv(f, header=False, sep='\t')

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете сделать это так:

import pyodbc

import pandas as pd

connection = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
                            'Server=YourServer;'
                            'Database=YourDB;'
                            'Trusted_Connection=yes;')

data = "select top(100000) from dbo.StoreLocations_Repo_V10"

df = pd.read_sql(data, connection)

df.to_csv('result.tsv', header=False, sep='\t')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...