溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)的方法

發(fā)布時(shí)間:2020-07-27 10:44:25 來(lái)源:億速云 閱讀:347 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了使用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] 
&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;  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è)讀取兩列

idname
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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI