这篇文章主要讲解了使用pymysql查询数据库,把结果保存为列表并获取指定元素下标的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
我就废话不多说了,大家还是直接看代码吧!
from pymysql import * from qmp.config import * def main(): conn = connect(host=HOST, port=3306, database=DATABASE, user=USER, password=PASSWORD, charset='utf8') cs1 = conn.cursor() sql1 = 'SELECT deal_name from ods_project_crawler_seed WHERE round = "-" order by id' cs1.execute(sql1) pnlist = [] alldata = cs1.fetchall() for singl_company in alldata: pnlist.append(singl_company[0]) print('列表总长度: ', len(pnlist)) cs1.close() conn.close() print('伯肯森自动化在列表中的下标为: ', pnlist.index('伯肯森自动化')) if __name__ == '__main__': main()
运行结果
列表总长度: 271270
伯肯森自动化在列表中的下标为: 1934
补充知识:python读取sql里面的指定数据列,并将其转换成列表使用
代码如下:
import pyodbc import pandas as pd import numpy as np conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};SERVER=.;DATABASE=数据库名字;UID=用户名;PWD=密码') cur = conn.cursor() sqlcom = 'select 要读取的列名 from 表名' df = pd.read_sql(sqlcom, con=conn) print(df) print(type(df)) #<class'pandas.core.frame.DataFrame'> df1 = np.array(df) #先使用array()将DataFrame转换一下 df2 = df1.tolist()#再将转换后的数据用tolist()转成列表 # 转成列表的数据是这样的[[123],['213'],['sa']],使用的时候稍注意一下 print(df2) for i in range(0, len(df2)): exist_url = df2[i][0] ​​​​​​​ print(exist_url)
使用了pandas和numpy两个库,用pandas来读取数据库里面的内容,再结合使用numpy库将DataFrame数据转换成列表(注意:这里读取的数据是一列数据)
2、读取多列数据时:代码是一样的,区别在于tolist()后的内容,假设读取两列
id | name |
1 | 张三 |
2 | 李四 |
df2 = df1.tolist()得到的内容是:[['1','张三'], ['2','李四']]。然后再根据自己的需求读取指定内容就可以了。
看完上述内容,是不是对使用pymysql查询数据库,把结果保存为列表并获取指定元素下标的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。