我尝试通过python计算表(访问数据库)中的列数 但是我有以前的错误
#connector is the module file for connect to database
import os
import pyodbc
class Connect():
# connect to database
dataFile = "youssri_knowledge_v1.accdb"
databaseFile = os.getcwd() + "\\" + dataFile
connectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=%s" % databaseFile
dbConnection = pyodbc.connect(connectionString)
cursor = dbConnection.cursor()
cursor.execute("select * from tinformation")
rows = cursor.fetchall()
# fro test the connection
#for row in rows:
#print (row)
# select number of columns
tinfo_col_number= cursor.execute ("select (*) from tinofrmation")
print (tinfo_col_number)
答案 0 :(得分:1)
也许这不是最优雅的解决方案,但是如果您需要知道行数/列数和内容,则不需要两次查询数据库;
rows = cursor.fetchall()
您已经有了一个列表列表,其中每个子列表都是数据库的一行,因此,如果您想要行号,可以执行以下操作:
len(rows)
如果您想获取列数,则只需选择一行并计算有多少个元素即可。...即使某行没有所有元素,也将以空值报告,因此:>
len(rows[0])
答案 1 :(得分:0)
可能您可以更改查询,MSSQL的语法与MySQL略有不同。 试试这个:
tinfo_col_number= cursor.execute ("SELECT Count(*) FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'tinofrmation'")