如何从MS SQL Server数据库加载数据到numpy数组

2024-10-02 08:21:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望将数据从sqlserver加载到numpy的数组中。你知道吗

例如:在SQLServer中有一个名为x的表,我需要将“duration”列下的详细信息提取到一个numpy数组中。你知道吗

我需要将它们存储在4个不同的numpy数组中,方法是按周划分,例如:每个数组应该包含特定周的duration列的details,这样4个不同的numpy数组应该包含4个不同周的details。你知道吗

我正在尝试将值粘贴到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


Tags: andimportnumpygetdatetimeupdate数组days

热门问题