pyodbc导出一个完整的csv文件,其中包含标题名,而不是数据

2024-09-27 09:33:42 发布

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

我试图弄明白为什么从MSSQL数据库导出数据库视图时,会生成一个仅包含视图标题列的csv文件。例如,这是我当前获得的结果文件:

"",""
"RIG ID","Date - Rig"
"RIG ID","Date - Rig"
"RIG ID","Date - Rig"
...

这是我正在运行的导出代码:

import csv
import os
import pyodbc

# Rig db Params/Vars
# Rigs data csv file path and name.
filePath = os.getcwd() + '/'
fileName = 'export.csv'
...

# SQL to select data from the rigs table.
rigs_export_sql = "SELECT TOP 10 'RIG ID', 'Date - Rig' FROM schema_name.view_name"

def export_rigs_data():
    
    # Database connection variable.
    connect = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' +
                                     server+';DATABASE='+database+';UID='+username+';PWD=' + password)
    
    # Cursor to execute query.
    cursor = connect.cursor()
    
    # Execute query.
    cursor.execute(rigs_export_sql)
    
    # Fetch the data returned.
    results = cursor.fetchall()
    
    # Extract the table headers.
    headers = [i[0] for i in cursor.description]
    
    # Open CSV file for writing.
    csvFile = csv.writer(open(filePath + fileName, 'w', newline=''),
                        delimiter=',', lineterminator='\r\n',
                        quoting=csv.QUOTE_ALL, escapechar='\\')
    
    # Add the headers and data to the CSV file.
    csvFile.writerow(headers)
    csvFile.writerows(results)

if __name__ == "__main__":
    export_rigs_data()

我错过了什么

注意:当我执行以下查询时"SELECT TOP 10 * FROM schema_name.view_name我得到了所有的数据和标题


Tags: csvthetonameimportiddatadate

热门问题