.bin 文件用excel文件打开_用PYTHON读写excel文件
1
實際案例
問題內容:數據格式為xls,xlsx,是一種常用的電子表格。
小學某班級成績,記錄在excel文件中:
姓名 語文 數學 外語
李磊 95 99 96
韓梅 98 100 93
張峰 94 95 95
……
利用python讀寫excel,添加“總分”列,計算每人總分。
2
解決辦法
使用第三方庫xlrd和xlwt,這兩個庫分別用于excel讀和寫。
首先安裝第三方庫
#pip install xlrd xlwt
In [1]: import xlrd
In [4]: book = xlrd.open_workbook('demo.xlsx')
In [5]: book.sheets()
Out[5]: []
## 獲取excel中全部sheet
#如何通過book訪問sheet?
In [9]: sheet =book.sheet_by_index(0)這里index(0)表示第一個sheet。
# 獲取sheet的行數和列數
In [10]: sheet.nrows
Out[10]: 12
In [11]: sheet.ncols
Out[11]: 4
#如何獲取每個cell的對象,只需傳入行列的坐標就可以了
In [12]: sheet.cell?
Signature: sheet.cell(rowx, colx)
Docstring: :class:`Cell` object in the given row and column.
File:? ? ? c:\python27\lib\site-packages\xlrd\sheet.py
Type:? ? ? instancemethod
In [13]: cell = sheet.cell(0,0)
In [14]: cell.ctype
Out[14]: 1
值為1 文本類型
In [15]: cell.value
Out[15]: u'\u59d3\u540d'
In [16]: print cell.value
姓名
#ROW,獲取一行一次
In [17]: sheet.row(1)
Out[17]: [text:u'\u674e\u78ca', number:95.0, number:99.0, number:96.0]
它獲取一個列表,其中每一項都是一個EXCEL對象。
# 獲取第一行的值,返回一個list。
In [21]: sheet.row_values(1)
Out[21]: [u'\u674e\u78ca', 95.0, 99.0, 96.0]
In [22]: sheet.row_values(1,1)
Out[22]: [95.0, 99.0, 96.0]
#還可以為這張表添加單元格,sheet.put_cell
In [23]: sheet.put_cell?
Signature: sheet.put_cell(rowx, colx, ctype, value, xf_index)
Docstring:
File:? ? ? c:\python27\lib\site-packages\xlrd\sheet.py
Type:? ? ? instancemethod
xf_index: 字體,對齊,一般設置為None即可
#對于列的操作,可以這樣:
# COLUMN
print(sheet.col(2))
print(sheet.col_values(2))
print(sheet.col_values(2, 0, 4))
#程序代碼:
#coding:utf8
import xlrd
import xlwt
rbook = xlrd.open_workbook('demo.xlsx')
rsheet = rbook.sheet_by_index(0)
nc = rsheet.ncols
# 添加一個cell
rsheet.put_cell(0, nc, xlrd.XL_CELL_TEXT, u'總分', None)
for row in xrange(1, rsheet.nrows):
? ? t = sum(rsheet.row_values(row, 1, nc))
? ? # 計算每一行的分數之和
? ? rsheet.put_cell(row, nc, xlrd.XL_CELL_NUMBER, t, None)
? ? # 添加一個cell,在總分的列上
#創建EXCEL文件,
wbook = xlwt.Workbook()
wsheet = wbook.add_sheet(rsheet.name)
style = xlwt.easyxf('align: vertical center, horizontal center')
for r in xrange(rsheet.nrows):
? ? for c in xrange(rsheet.ncols):
? ? ? ? wsheet.write(r, c, rsheet.cell_value(r, c), style)
wbook.save('output.xlsx')??
學習|生活|分享|積累|永不停步
請留下你指尖的溫度
讓太陽擁抱你
微信ID:haopython
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的.bin 文件用excel文件打开_用PYTHON读写excel文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mask rcnn算法分析_在model
- 下一篇: **Java有哪些悲观锁的实现_Redi