python 列出包含 headers 列的数据框并删除数据类型

python list to dataframe with column headers and removing data types

希望有人能帮我写出高效的代码。我是 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=',')

问题是:

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

    1. 正在将列类型转换为小数('xxx') 也正在 df 中捕获

如何以 table 格式将其放入 Dataframe 中,其中包含 headers 列且没有列类型?就像我在 MS SQL management studio 上执行的 SQL 查询一样?

如果你想让DataFrame包含你可以做的列名

crsr = cnxn.cursor()
rows = crsr.execute('select top 10 * from Table_XX').fetchall()
df = pd.DataFrame.from_records(rows, columns=[x[0] for x in crsr.description])

然后将结果转储到带有列标题的 CSV 文件中

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