.bin 文件用excel文件打开_用PYTHON读写excel文件

ec7c6c6c46ea5fd89bb2491981fd604b.gif

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')  

babc816a90fc0c42e9036f777cffc283.png

学习|生活|分享|积累|永不停步

请留下你指尖的温度

让太阳拥抱你

微信ID:haopython

.bin 文件用excel文件打开_用PYTHON读写excel文件_第1张图片

你可能感兴趣的:(.bin,文件用excel文件打开,c++,读写excel,java读写excel文件)