在python中是否可以从pandas DataFrame获取sql列元数据?
我用python将一些数据库表读取到一个DataFrame中,我能够检索列的类型:在python中是否可以从pandas DataFrame获取sql列元数据?,python,sql,dataframe,metadata,Python,Sql,Dataframe,Metadata,我用python将一些数据库表读取到一个DataFrame中,我能够检索列的类型: import sqlite3 import pandas with sqlite3.connect('d:\database.sqlite') as connection: dataFrame = pandas.read_sql_query('SELECT * FROM my_table', connection) dataFrame.dtypes 我想知道DataFrame是否还包含关于表的更多元
import sqlite3
import pandas
with sqlite3.connect('d:\database.sqlite') as connection:
dataFrame = pandas.read_sql_query('SELECT * FROM my_table', connection)
dataFrame.dtypes
我想知道DataFrame是否还包含关于表的更多元数据,例如,如果一个列可为null,该列的默认值,以及该列是否是主键
我希望有一些类似的方法
dataFrame.isNullable('columnName')
但是找不到这样的方法
如果元数据不包含在数据框中,我将不得不使用额外的查询来检索该数据,例如
PRAGMA table_info('my_table')
这将给列
cid, name, type, notnull, dflt_value, pk
然而,我想避免这个额外的疑问。特别是如果我的原始查询不包含所有列,或者如果它定义了一些额外的列,那么查找相应的元数据可能会变得复杂
=>如果数据帧已经包含所需的元数据,请告诉我如何访问它
(在Java中,我将使用
ResultSetMetaData=resultSet.getMetaData();
)访问元数据)由于pandas的目的是简化数据集并从大量数据源对数据集执行批量更改,因此它基本上为数据分析和数据科学操作提供了扩展。对于您的案例,您可以从“select*from sqlite_master”从sqlite获取元数据。由于pandas的目的是简化并从大量数据源对数据集执行批量更改,因此它基本上为数据分析和数据科学操作提供了扩展。对于您的案例,您可以从“select*from sqlite_master”从sqlite获取元数据。