Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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列表添加到dataframe_Python_Python 3.x_Pandas_Spyder_Pyodbc - Fatal编程技术网

使用列标题和删除数据类型将python列表添加到dataframe

使用列标题和删除数据类型将python列表添加到dataframe,python,python-3.x,pandas,spyder,pyodbc,Python,Python 3.x,Pandas,Spyder,Pyodbc,希望有人能帮我写一个高效的代码。我对python相当陌生,不是最高效的 我有一个到SQL数据库的ODBC连接,下面是代码: import pyodbc import pandas as pd import csv cnxn = pyodbc.connect("DSN=acc_DB") cursor = cnxn.cursor() cursor.execute("select top 10 * from Table_XX") rows = cursor.fetchall() 现在我得到的是一个

希望有人能帮我写一个高效的代码。我对python相当陌生,不是最高效的

我有一个到SQL数据库的ODBC连接,下面是代码:

import pyodbc
import pandas as pd
import csv

cnxn = pyodbc.connect("DSN=acc_DB")
cursor = cnxn.cursor()
cursor.execute("select top 10 * from Table_XX")
rows = cursor.fetchall()
现在我得到的是一个:

然后我把它放在一个数据框中,然后用这个代码输出到一个csv

DF = pd.DataFrame(rows)
DF.to_csv('out.csv',sep=',')
问题是:

  • DF无法识别列名,列的值仅为0

  • 列类型被转换为十进制('xxx')也被捕获到df中
  • 如何将其以表格格式放入数据框中,并带有列标题而没有列类型??就像我在MS SQL management studio上执行的SQL查询一样?

    如果希望数据框包含列名,可以执行以下操作

    crsr=cnxn.cursor()
    rows=crsr.execute('select top 10*from Table_XX')。fetchall()
    df=pd.DataFrame.from_记录(crsr.description中x的行、列=[x[0])
    
    然后,您可以使用列标题将结果转储到CSV

    df.to\u csv(r'C:\Users\Gord\Desktop\out.csv',index=False)