Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python中的循环分别选择每个SQL列,并将它们存储在列表中_Python_Sql Server_List_Loops - Fatal编程技术网

使用python中的循环分别选择每个SQL列,并将它们存储在列表中

使用python中的循环分别选择每个SQL列,并将它们存储在列表中,python,sql-server,list,loops,Python,Sql Server,List,Loops,我想为每个SQL列创建一个数据框,并将它们存储在一个列表中。因为我的数据很大,所以我将它们分块加载,然后追加 我已尝试使用以下方法: ###create a list first numdata={} vars=['INITIAL_AMOUNT','LINE_AMOUNT','OUTSTANDING_DEBT'] ##these are names of few column in my sql table ###loop over sql columns and store them

我想为每个SQL列创建一个数据框,并将它们存储在一个列表中。因为我的数据很大,所以我将它们分块加载,然后追加

我已尝试使用以下方法:

###create a list first
numdata={}  
vars=['INITIAL_AMOUNT','LINE_AMOUNT','OUTSTANDING_DEBT'] ##these are names of few column in my sql table  
###loop over sql columns and store them in a list                         
for names in vars:
    chunks=pd.read_sql('SELECT names FROM mydb.dbo.mytable', conn, chunksize=100000)
    numdata[names]=pd.concat(chunks)
我希望得到类似于:

     INITIAL_AMOUNT LINE_AMOUNT 
0    600.0000  13500.2870
1    700.0000  1500.7567
2    500.0000  6409.0557
3    500.0000  12700.2870
....
但我得到的只是每行变量的名称,如下所示:

0    INITIAL_AMOUNT LINE_AMOUNT 
1    INITIAL_AMOUNT LINE_AMOUNT 
2    INITIAL_AMOUNT LINE_AMOUNT 
3    INITIAL_AMOUNT LINE_AMOUNT 

你能帮我一下吗?

试着从mydb.dbo.mytable'中将你的
SELECT
更改为
'SELECT['+names+']。我必须说,如果您有足够的内存在python中追加这些列,我看不出有什么理由一个接一个地从sql server中获取它们,但这是您的要求。@Aryerez成功了!非常感谢。即使我没有足够的内存来追加所有列,至少我现在可以单独总结每一列。