日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python如何将生成的随机数存入文件中_用python在excel中读取与生成随机数写入excel中...

發布時間:2025/3/21 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python如何将生成的随机数存入文件中_用python在excel中读取与生成随机数写入excel中... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天是我第一次發博客,就關于python在excel中的應用作為我的第一篇吧。

具體要求是:在一份已知的excel表格中讀取學生的學號與姓名,再將這些數據放到新的excel表中的第一列與第二列,最后再生成隨機數作為學生的考試成績。

首先要用到的數據庫有:xlwt,xlrd,random這三個數據庫。

命令如下:

import xlwt

import xlrd

import random

現有一份表格內容如下圖:

現在我們需要提取這其中的B1—C14。

(提示:在對這份電子表格進行操作的時候,要使用到這個電子表格的地址,即表格的儲存位置。)

excel=xlrd.open_workbook(G:\python\新建文件夾\表1.xlsx') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #打開并讀取表格

sheet=excel.sheets()[0] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #在原表1中提取第一頁中的數據。對excel進行處理時,行列頁都是從0開始進行計算

wb=xlwt.Workbook() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #創立一個新的excel表格

ws =wb.add_sheet('成績單') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #第一頁命名為成績單

(如果要進行多頁操作,要將學號姓名放到兩頁excel表格中的話可以如下操作:

ws1=wb.add_sheet('1班成績單')

ws2=wb.add_sheet('2班成績單')

創建兩個list:

a=[]

b=[]

(這兩個list是用來臨時存放學號與姓名的)

for i in range (1,14): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #在大二下學期15級成績匯總.xlsx表中提取出姓名與學號

a .append(sheet.row_values(i,1,2)) ? ? ? ? ? ? ? ?#提取第i行的第1個數,即這個命令抽取的是表中的學號列

b .append(sheet.row_values(i,2,3)) ? ? ? ? ? ? ? ?#提取第i行的第2個數,即這個命令抽取的是表中的姓名列

在此特比注意:excel中行與列均是從0開始計算的,即表中第1行第1列在進行處理運行時為第0行第0列,表中第2行第2列在進行處理運行時為第1行第1列。表中sheet也是從0開始算起。

解釋一下:?a .append(sheet.row_values(i,1,2))在經過幾次錯誤后我發現,i是指第i行,1,2這兩個是一段范圍。即取的是第1個值,按照上面注意的說,就是表中第二個框格的值。

如果對此有疑問可以試一下將1,2修改一個值進行嘗試。

for n in range(13): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #將學號與姓名寫入新建的表格中,并寫在第1頁,人數為13人。

ws.write(n,0,a[n][0])

ws.write(n,1,b[n][0])

提醒:為什么這里要用a[n][0]而不是a[n]?這個是我自己水平有限制的原因。因為在提取表中數據放入a,b兩個list中他們的形式是:a=[[111],[112],[113]……]的形式,對于這一點的解決方法我還沒想出來,因此只能靠a[n][0]這樣的形式來解決。因為在寫入新的表格過程中不能將list整個放入框格中,只能放入文本或者其他框格允許的格式。如果你們有什么比較好的方法可以提出來我們一起交流學習,感激不盡。

for q in range(13): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #對1班所有人的成績進行隨機抽取數據

ran=random.randint(60,91)

if ran<=70:

ws1.write(q,2,'及格({0})'.format(ran))

if ran>70 and ran<=80:

ws1.write(q,2,'中等({0})'.format(ran))

if ran>80 and ran<=90:

ws1.write(q,2,'良好({0})'.format(ran))

wb.save('15資環1,2班地理信息系統實習成績.xls') ? ? ? ? ? ? ? ? ? ? ?#將新建的表格保存為'15資環1,2班地理信息系統實習成績.xls'文件

以下代碼是由兩個班的數據進行運算。

原來的表格為:

1 import xlwt #引入xlwt數據庫用來將數據寫入excel文檔中

2 import xlrd #引入xlrd數據庫用來從excel中讀取數據

3 import random #引入random數據庫給出隨機數

4

5 excel=xlrd.open_workbook('G:\python\新建文件夾\表1.xlsx') #從一個已有學號與姓名的excel表格中提取出對應的學號和姓名

6

7 sheet=excel.sheets()[0]8 wb=xlwt.Workbook() #創立一個新的excel表格

9 ws1=wb.add_sheet('1班成績單') #第一頁命名為1班成績單

10 ws2=wb.add_sheet('2班成績單') #第一頁命名為2班成績單

11

12

13 a1=[] #表1中的學號列

14 a2=[] #表2中的學號列

15 b1=[] #表1中的姓名列

16 b2=[] #表2中的姓名列

17

18 for i in range (1,14): #表1.xlsx表中提取出1班的姓名與學號

19 a1.append(sheet.row_values(i,1,2))20 b1.append(sheet.row_values(i,2,3))21

22

23 for j in range (14,33): #在表1.xlsx表中提取出1班的姓名與學號

24 a2.append(sheet.row_values(j,1,2))25 b2.append(sheet.row_values(j,2,3))26

27 for n in range(13): #將1班學號與姓名寫入新建的表格中,并寫在第1頁.1班人數為13人

28 ws1.write(n,0,a1[n][0])29 ws1.write(n,1,b1[n][0])30 for m in range(19): #將2班學號與姓名寫入新建的表格中,并寫在第2頁.2班人數為19人

31 ws2.write(m,0,a2[m][0])32 ws2.write(m,1,b2[m][0])33

34 for q in range(13): #對1班所有人的成績進行隨機抽取數據

35 ran=random.randint(60,91) #分數為60-90之間

36 if ran<=70:37 ws1.write(q,2,'及格({0})'.format(ran)) #以下表示在各分數段的等級

38 if ran>70 and ran<=80:39 ws1.write(q,2,'中等({0})'.format(ran))40 if ran>80 and ran<=90:41 ws1.write(q,2,'良好({0})'.format(ran))42

43 for d in range(19): #對2班所有人的成績進行隨機抽取數據

44 ran=random.randint(60,91)45 if ran<=70:46 ws2.write(d,2,'及格({0})'.format(ran))47 if ran>70 and ran<=80:48 ws2.write(d,2,'中等({0})'.format(ran))49 if ran>80 and ran<=90:50 ws2.write(d,2,'良好({0})'.format(ran))51

52

53

54 wb.save('15資環1,2班地理信息系統實習成績.xls') #將新建的表格保存為'15資環1,2班地理信息系統實習成績.xls'文件

55

結果如下:

總結

以上是生活随笔為你收集整理的python如何将生成的随机数存入文件中_用python在excel中读取与生成随机数写入excel中...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。