【问题标题】:python list to dataframe with column headers and removing data typespython list to dataframe with column headers and remove data types
【发布时间】:2018-10-01 15:36:44
【问题描述】:

希望有人可以在这里帮助我编写高效的代码。我对 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

如何将其以表格格式放入 Dataframe 中,其中包含列标题且没有列类型?就像我在 MS SQL 管理工作室上执行的 SQL 查询一样?

【问题讨论】:

    标签: python python-3.x pandas spyder pyodbc


    【解决方案1】:

    如果你希望 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)
    

    【讨论】:

      猜你喜欢
      • 2022-12-02
      • 2023-02-26
      • 1970-01-01
      • 1970-01-01
      • 2022-12-26
      • 2022-12-01
      • 2022-12-01
      • 2021-08-18
      • 2022-12-01
      相关资源
      最近更新 更多