源数据格式:
| 姓名 | 语文 | 数学 | 外语 |
| 测试 | 95 | 99 | 96 |
| 张三1 | 90 | 95 | 91 |
| 张三2 | 91 | 96 | 92 |
| 张三3 | 92 | 97 | 93 |
| 张三4 | 93 | 98 | 94 |
| 张三5 | 94 | 99 | 95 |
| 张三6 | 95 | 100 | 96 |
| 张三7 | 96 | 101 | 97 |
| 张三8 | 97 | 102 | 98 |
| 张三9 | 98 | 103 | 99 |
| 张三10 | 99 | 104 | 100 |
| 张三11 | 100 | 105 | 101 |
| 张三12 | 101 | 106 | 102 |
| 张三13 | 102 | 107 | 103 |
| 张三14 | 103 | 108 | 104 |
输出文件格式:
| 姓名 | 语文 | 数学 | 外语 | 总分 |
| 测试 | 95 | 99 | 96 | 290 |
| 张三1 | 90 | 95 | 91 | 276 |
| 张三2 | 91 | 96 | 92 | 279 |
| 张三3 | 92 | 97 | 93 | 282 |
| 张三4 | 93 | 98 | 94 | 285 |
| 张三5 | 94 | 99 | 95 | 288 |
| 张三6 | 95 | 100 | 96 | 291 |
| 张三7 | 96 | 101 | 97 | 294 |
| 张三8 | 97 | 102 | 98 | 297 |
| 张三9 | 98 | 103 | 99 | 300 |
| 张三10 | 99 | 104 | 100 | 303 |
| 张三11 | 100 | 105 | 101 | 306 |
| 张三12 | 101 | 106 | 102 | 309 |
| 张三13 | 102 | 107 | 103 | 312 |
| 张三14 | 103 | 108 | 104 | 315 |
代码:
# 如何读写Excel文件
# 安装所需库 pip install xlrd xlwt
import xlrd, xlwt
# 支持xls,不支持xlsx
from xlwt.compat import xrange
book = xlrd.open_workbook('chengji.xls')
print(book.sheets())
sheet = book.sheet_by_index(0)
# 访问行数
print(sheet.nrows) # 输出结果:16
# 访问列数
print(sheet.ncols) # 输出结果:4
# 访问对应行和列数据
cell = sheet.cell(0, 0)
print(cell) # 输出结果:text:'姓名'
# 内容的数据类型 1文本,2数字
print(cell.ctype)
# 内容
print(cell.value)
cell = sheet.cell(1, 1)
print(cell)
# 内容的数据类型 1文本,2数字
print(cell.ctype)
# 内容
print(cell.value)
# 获取一行
print(sheet.row(1)) # 输出结果:[text:'测试', number:95.0, number:99.0, number:96.0]
# 获取一行的值
print(sheet.row_values(1)) # 输出结果:['测试', 95.0, 99.0, 96.0]
# 获取一行的值, 跳过第一个
print(sheet.row_values(1, 1)) # 输出结果:[95.0, 99.0, 96.0]
nc = sheet.ncols
sheet.put_cell(0, nc, xlrd.XL_CELL_TEXT, u'总分', None)
for row in xrange(1, sheet.nrows):
t = sum(sheet.row_values(row, 1))
sheet.put_cell(row, nc, xlrd.XL_CELL_NUMBER, t, None)
wBook = xlwt.Workbook()
wSheet = wBook.add_sheet(sheet.name)
style = xlwt.easyxf('align: vertical center, horizontal center')
for r in xrange(sheet.nrows):
for c in xrange(sheet.ncols):
wSheet.write(r, c, sheet.cell_value(r, c), style)
wBook.save('output.xlsx')