这篇文章主要讲解了使用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查询数据库,把结果保存为列表并获取指定元素下标的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。