您好,登錄后才能下訂單哦!
這篇文章主要講解了使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
我就廢話不多說(shuō)了,大家還是直接看代碼吧!
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('列表總長(zhǎng)度: ', len(pnlist)) cs1.close() conn.close() print('伯肯森自動(dòng)化在列表中的下標(biāo)為: ', pnlist.index('伯肯森自動(dòng)化')) if __name__ == '__main__': main()
運(yùn)行結(jié)果
列表總長(zhǎng)度: 271270
伯肯森自動(dòng)化在列表中的下標(biāo)為: 1934
補(bǔ)充知識(shí):python讀取sql里面的指定數(shù)據(jù)列,并將其轉(zhuǎn)換成列表使用
代碼如下:
import pyodbc import pandas as pd import numpy as np conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};SERVER=.;DATABASE=數(shù)據(jù)庫(kù)名字;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轉(zhuǎn)換一下 df2 = df1.tolist()#再將轉(zhuǎn)換后的數(shù)據(jù)用tolist()轉(zhuǎn)成列表 # 轉(zhuǎn)成列表的數(shù)據(jù)是這樣的[[123],['213'],['sa']],使用的時(shí)候稍注意一下 print(df2) for i in range(0, len(df2)): exist_url = df2[i][0] ​​​​​​​ print(exist_url)
使用了pandas和numpy兩個(gè)庫(kù),用pandas來(lái)讀取數(shù)據(jù)庫(kù)里面的內(nèi)容,再結(jié)合使用numpy庫(kù)將DataFrame數(shù)據(jù)轉(zhuǎn)換成列表(注意:這里讀取的數(shù)據(jù)是一列數(shù)據(jù))
2、讀取多列數(shù)據(jù)時(shí):代碼是一樣的,區(qū)別在于tolist()后的內(nèi)容,假設(shè)讀取兩列
id | name |
1 | 張三 |
2 | 李四 |
df2 = df1.tolist()得到的內(nèi)容是:[['1','張三'], ['2','李四']]。然后再根據(jù)自己的需求讀取指定內(nèi)容就可以了。
看完上述內(nèi)容,是不是對(duì)使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。