Я хочу загрузить данные с 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