国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python使用sqlite3第三方庫讀寫SQLite數據庫的方法步驟

89542767 / 617人閱讀

  小編寫這篇文章的主要目的,主要是給大家去做一個介紹,介紹的內容還是涉及到Python,主要是利用Python sqlite3,使用第三方的數據庫,讀取讀寫SQLite數據庫,具體的方法是什么呢?下面給大家詳細解答下。


  1數據概覽


  學生課程成績:studentID、name、english、chinese、math,存在一定缺失值

01.png

  2任務定義


  基于學生課程成績文件,使用pandas和sqlite3將學生信息輸入SQLite數據庫,請在完成對應數據庫操作后分析學生課程成績信息,計算各科目平均分并給出總分排名。


  3實現步驟


  3.1利用pandas讀取學生信息


  import pandas as pd
  import sqlite3
  #利用pandas讀取數據
  student_df=pd.read_csv("./Dataset/student_grades.csv",encoding='utf-8-sig')

 

02.png

    3.2利用sqlite3創建數據庫和學生表


  #創建學生成績數據庫
  conn=sqlite3.connect("./Database/Student_grade.db")
  ##創建游標
  cursor=conn.cursor()
  ##創建成績表
  try:
  #判斷表是否存在,存在則先刪除
  dropif_sql='Drop TABLE IF EXISTS student_grades;'
  create_sql='''
  CREATE TABLE student_grades
  (
  studentID varchar(64),
  studentName varchar(64),
  scoreEnglish float(64),
  scoreChinese float(64),
  scoreMath float(64)
  )
  '''
  cursor.execute(dropif_sql)
  cursor.execute(create_sql)
  except:
  print("Create table failed!")

03.png

  3.3利用sqlite3將學生信息存入數據庫


  #將學生信息存入數據庫
  for i in range(student_df.shape[0]):
  print(student_df.loc[i,:].to_list())
  #插入語句
  insert_sql='''
  INSERT INTO student_grades(studentID,studentName,scoreEnglish,scoreChinese,scoreMath)
  Values('%s','%s','%f','%f','%f')'''%(
  str(student_df.loc[i,'StudentID']),
  str(student_df.loc[i,'name']),
  student_df.loc[i,'english'],
  student_df.loc[i,'chinese'],
  student_df.loc[i,'math'],
  )
  #執行語句
  cursor.execute(insert_sql)
  #事物提交
  conn.commit()

04.png

  3.4將李四數學成績70錄入SQLite數據庫


  #錄入李四的數學成績
  grade_LiSi=70
  #更新語句
  update_sql='UPDATE student_grades SET scoreMath={}WHERE studentID=10002'.format(grade_LiSi)
  #執行語句
  cursor.execute(update_sql)
  #事物提交
  conn.commit()
  #查詢錄入李四成績后的信息
  select_sql='SELECT*FROM student_grades;'
  #執行語句
  results=cursor.execute(select_sql)
  #遍歷輸出
  for info in results.fetchall():
  print(info)

  

05.png

      3.5將數據庫中的王五數學成績改為85


  #更新王五的數學成績
  grade_WangWu=85
  #更新語句
  update_sql='UPDATE student_grades SET scoreMath={}WHERE studentID=10003'.format(grade_WangWu)
  #執行語句
  cursor.execute(update_sql)
  #事物提交
  conn.commit()
  #查詢王五的成績
  select_sql='SELECT*FROM student_grades WHERE studentID=10003;'
  #執行語句
  results=cursor.execute(select_sql)
  #遍歷輸出
  for info in results.fetchall():
  print(info)
  3.5計算學生的各科平均分,并給出總分排名
  #查詢數據
  select_sql='SELECT*FROM student_grades;'
  #執行語句
  results=cursor.execute(select_sql)
  #計算各科平均分以及總分排名
  english_lst=[]
  chinese_lst=[]
  math_lst=[]
  total_dct={}
  for info in results.fetchall():
  english_lst.append(info[2])
  chinese_lst.append(info[3])
  math_lst.append(info[4])
  total_dct[info[1]]=sum(info[2:])
  #計算平均分的函數
  def average_score(lst):
  return round(sum(lst)/len(lst),2)
  #輸出結果
  print("英語平均分為:",average_score(english_lst))
  print("語文平均分為:",average_score(chinese_lst))
  print("數學平均分為:",average_score(math_lst))
  print("總成績排名為:",sorted(total_dct.items(),key=lambda x:x[1],reverse=True))

06.png

  4小小的總結


  在Python中使用sqlite3:


  連接數據庫:conn=sqlite3.connect(filename),如果數據庫不存在,會自動創建再連接。創建游標:cursor=conn.cursor(),SQL的游標是一種臨時的數據庫對象,即可以用來


  存放在數據庫表中的數據行副本,也可以指向存儲在數據庫中的數據行的指針。游標提供了在逐行的基礎上操作表中數據的方法。


  運用sqlite3運行SQL語句的框架:


  ①定義sql語句,存儲到字符串sql中


  ②使用游標提交執行語句:cursor.execute(sql)


  ③使用連接提交事務:conn.commit()


  綜上所述,這篇文章就給大家完畢了,希望可以給大家帶來幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128361.html

相關文章

  • 使用 Python SQLite JSON1 和 FTS5 擴展

    摘要:每個對象包括一個標題,一個和頂層的元數據鍵,下面是提取作品標題的代碼對應下面創建的查詢在接下來的例子中,將提取包含特定標簽的條目。對于擴展,該可選字典提供了附加元數據進行標記字段,以及通過前綴的長度存儲快速前綴查詢。 早在九月份,編程界出現一個名為 json1.c 的文件,此前這個文件一直在 SQLite 的庫里面。還有,筆者也曾總結通過使用新的 json1 擴展來編譯 pysqli...

    Lorry_Lu 評論0 收藏0
  • 通過demo學習OpenStack開發所需基礎知識 -- 數據(1)

    摘要:另外,項目在單元測試中使用的是的內存數據庫,這樣開發者運行單元測試的時候不需要安裝和配置復雜的數據庫,只要安裝好就可以了。而且,數據庫是保存在內存中的,會提高單元測試的速度。是實現層的基礎。項目一般會使用數據庫來運行單元測試。 OpenStack中的關系型數據庫應用 OpenStack中的數據庫應用主要是關系型數據庫,主要使用的是MySQL數據庫。當然也有一些NoSQL的應用,比如Ce...

    warnerwu 評論0 收藏0
  • Python信息采集器使用輕量級關系型數據SQLite

    摘要:,引言自帶一個輕量級的關系型數據庫。作為后端數據庫,可以搭配建網站,或者為網絡爬蟲存儲數據。在一些場景下,網絡爬蟲可以使用存儲采集到的網頁信息。爬蟲打數機將在版本支持,不妨想想一下網絡爬蟲與打數機連接在一起會怎樣。 showImg(https://segmentfault.com/img/bVyUfA); 1,引言 Python自帶一個輕量級的關系型數據庫SQLite。這一數據庫使用S...

    loonggg 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<