首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python包括Server表的标题行

使用python包括Server表的标题行
EN

Stack Overflow用户
提问于 2022-06-08 09:35:06
回答 1查看 199关注 0票数 0

如何在给定的Server数据库中包括特定表的标头行?

这是我的密码。它目前只输出表记录,而不显示标题行。

代码语言:javascript
复制
db_cursor = conn.cursor() 
qry = 'select * from ' +tbname
db_cursor.execute(qry)
table_rows2 = db_cursor.fetchall()
df2 = pd.DataFrame(table_rows2)
print(df2)

以下是当前的输出:

代码语言:javascript
复制
                                            0
0  [1, Resfo , Technology, Telecommunication]
1  [2, ATT , Technology, Social media]
2  [3, Airtel , Technology, Telecommunication]

预期产出:

代码语言:javascript
复制
    SurveyID SurveyName   Sector     Category
0   1        Resfo        Technology  Telecommunication
1   2        ATT          Technology  Social media
2   3        Airtel       Technology  Telecommunication
EN

回答 1

Stack Overflow用户

发布于 2022-06-08 14:22:57

您可能正在寻找cursor对象上的cursor属性,该属性被记录为:

description

这个只读属性是一个7项元组的列表,每个列由最后一个select语句返回一个元组。每个元组包含:

value)

  • internal

  • 列名(或别名,如果在SQL中指定)

  • 类型代码

  • 显示大小(pyodbc不设置此大小(在bytes)
  1. precision
  2. scale
  3. nullable (True/False)

中))

对于不返回行的操作或未调用执行方法之一的操作,此属性将为None。“类型代码”值是用于在读取行时创建Python对象的类类型。例如,varchar列的类型为str

要检索当前行集中的列名列表,可以使用类似于column_names = [tup[0] for tup in cursor.description]的内容,如下面的示例:

代码语言:javascript
复制
#!/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)

它打印输出:

代码语言:javascript
复制
['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...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72543344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档