国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

基于python實現在excel中讀取與生成隨機數寫入excel中

2020-02-16 11:26:32
字體:
來源:轉載
供稿:網友

具體要求是:在一份已知的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整個放入框格中,只能放入文本或者其他框格允許的格式。如果你們有什么比較好的方法可以提出來我們一起交流學習,感激不盡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频| 清水县| 石棉县| 镇远县| 泗阳县| 玉树县| 普宁市| 双峰县| 西畴县| 鹿泉市| 彰武县| 阿拉善右旗| 泾阳县| 新闻| 射阳县| 杭州市| 莎车县| 六枝特区| 湟源县| 寻甸| 墨竹工卡县| 都兰县| 勃利县| 从化市| 仙桃市| 洛扎县| 平山县| 桑日县| 绿春县| 兴文县| 万州区| 阜平县| 五原县| 四平市| 五大连池市| 睢宁县| 津市市| 广南县| 永川市| 平远县| 横山县|