Как загрузить данные в массивный массив из базы данных MS SQL Server - PullRequest
0 голосов
/ 18 июня 2019

Я хочу загрузить данные с SQL-сервера в массивы numpy.

Например: в SQL Server есть таблица с именем x, и мне нужно извлечь подробности в столбце «duration» в пустой массив.

Мне нужно хранить их в 4 разных массивах с разбивкой по неделям, например: каждый массив должен содержать данные из столбца продолжительности для данной конкретной недели, поэтому таким образом 4 разных массива должны содержать сведения о 4 разных неделях.

Я пытаюсь вставить значения в лист Excel. и значения должны заполняться автоматически.

import pyodbc
import pandas as pd
from datetime import datetime, timedelta

LastDayofCWMinusone = datetime.now().date()-timedelta(days=2)
startofCWMinusone = lastDayofCWMinusone - timedelta(days=((lastDayofCWMinusone.weekday()+1)%7))
endofCWMinusone = startofCWMinusone +timedelta(days=6)
LWDateRange = startofCWMinusone.strftime('%m/%d/%Y') + '-' + endofCWMinusone.strftime('%m/%d/%Y')
ws1['C1'] = LWDateRange

#Get CW-2 and update G1
startofCWMinustwo = startofCWMinusone - timedelta(days=7)
endofCWMinustwo = endofCWMinusone - timedelta(days=7)
LWMinustwoRange = startofCWMinustwo.strftime('%m/%d/%Y') + '-' + endofCWMinustwo.strftime('%m/%d/%Y')
ws1['G1'] = LWMinustwoRange


#Get CW-3 and update K1
startofCWMinusthree = startofCWMinustwo - timedelta(days=7)
endofCWMinusthree = endofCWMinustwo - timedelta(days=7)
LWMinusthreeRange = startofCWMinusthree.strftime('%m/%d/%Y') + '-' + endofCWMinusthree.strftime('%m/%d/%Y')
ws1['K1'] = LWMinusthreeRange

#Get CW-4 and update O1
startofCWMinusfour = startofCWMinusthree - timedelta(days=7)
endofCWMinusfour = endofCWMinusthree - timedelta(days=7)
LWMinusfourRange = startofCWMinusfour.strftime('%m/%d/%Y') + '-' + endofCWMinusfour.strftime('%m/%d/%Y')
ws1['O1'] = LWMinusfourRange

conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=servername;DATABASE=databasename;UID=uidname;PWD=password')

sSQL = "select * from x where businessmodified>='{} 00:00:00' and businessmodified<='{} 23:59:59'".format(startofCWMinusfour.strftime('%m-%d-%Y'),endofCWMinusone.strftime('%m-%d-%Y'))

x = pd.read_sql(sSQL,conn,index_col=None)
x['Week_Number'] = x['businessmodified'].dt.week

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...