如何在给定的Server数据库中包括特定表的标头行?
这是我的密码。它目前只输出表记录,而不显示标题行。
db_cursor = conn.cursor()
qry = 'select * from ' +tbname
db_cursor.execute(qry)
table_rows2 = db_cursor.fetchall()
df2 = pd.DataFrame(table_rows2)
print(df2)以下是当前的输出:
0
0 [1, Resfo , Technology, Telecommunication]
1 [2, ATT , Technology, Social media]
2 [3, Airtel , Technology, Telecommunication]预期产出:
SurveyID SurveyName Sector Category
0 1 Resfo Technology Telecommunication
1 2 ATT Technology Social media
2 3 Airtel Technology Telecommunication发布于 2022-06-08 14:22:57
您可能正在寻找cursor对象上的cursor属性,该属性被记录为:
description
这个只读属性是一个7项元组的列表,每个列由最后一个select语句返回一个元组。每个元组包含:
value)
中))
对于不返回行的操作或未调用执行方法之一的操作,此属性将为None。“类型代码”值是用于在读取行时创建Python对象的类类型。例如,varchar列的类型为str。
要检索当前行集中的列名列表,可以使用类似于column_names = [tup[0] for tup in cursor.description]的内容,如下面的示例:
#!/usr/bin/env python
import pandas as pd
import pyodbc
conn = pyodbc.connect(
'DRIVER={ODBC Driver 17 for SQL Server};' +
'SERVER=tcp:sql2019,1433;' +
'UID=sa;' +
'PWD=StrongPassw0rd;' +
'DATABASE=msdb;'
)
cursor = conn.cursor()
cursor.execute('select * from sys.database_files')
column_names = [tup[0] for tup in cursor.description]
table_rows = cursor.fetchall()
df2 = pd.DataFrame(table_rows)
print(column_names)
print(df2)它打印输出:
['file_id', 'file_guid', 'type', 'type_desc', 'data_space_id', 'name', 'physical_name', 'state', 'state_desc', 'size', 'max_size', 'growth', 'is_media_read_only', 'is_read_only', 'is_sparse', 'is_percent_growth', 'is_name_reserved', 'is_persistent_log_buffer', 'create_lsn', 'drop_lsn', 'read_only_lsn', 'read_write_lsn', 'differential_base_lsn', 'differential_base_guid', 'differential_base_time', 'redo_start_lsn', 'redo_start_fork_guid', 'redo_target_lsn', 'redo_target_fork_guid', 'backup_lsn']
0
0 [1, 9CD66F90-8F5D-4A21-9378-86BE7A1B2CFF, 0, R...
1 [2, 846D0789-0659-4EE1-9139-74548FBE90A7, 1, L...https://stackoverflow.com/questions/72543344
复制相似问题