我就废话不多说了,大家还是直接看代码吧!
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查询数据库,把结果保存为列表并获取指定元素下标实例就是小编分享给大家的全部内容了,希望能给大家一个参考。