0718python之于excel表处理

Excel表单的处理

 

首先是要安装 openpyxl 模块用 pip install openpyxl 指令在任意壳执行就好

 

Import openpyxl as xl

1、wb = xl.load_workbook(“xxx.xlsx”)//读取表格,返回一个工作簿对象

   Sheetlist = wb.worksheets  // 转化得到所有表单组成的列表

   Sheetname = wb.sheetnames  // 得到所有表单的名字列表

   获取第一个表单,可以通过数组索引

   Sheet = sheetlist[0]   

   获取表格最大行数

   row = sheet.max_row

   获取表格最大列数

   col = sheet.max_column(好像比实际列数大1)

   表单的名字

   Name = sheet.title

2、新建一个表单

创建工作台

   wb = xl.Workbook()

   wb.create_sheet(“name”)

  如果重名了,他会自动改名的

3、删除一个表单

(1)先找到表达 sheet = wb[sheet_name]

(2)Wb.remove(sheet)

 或者直接用 del wb[sheet_name]

4、获取行和列

   Sheet[1] ,sheet[‘A’] 是分别获取1行和1列

   # 获取第 1 行

>>> sheet[1]

(测试页'.A1>, 测试页'.B1>, 测试页'.C1>, 测试页'.D1>)

 

# 获取第 1 列

>>> sheet['A']

(测试页'.A1>, 测试页'.A2>, 测试页'.A3>, 测试页'.A4>)

可以看到是里面是先列后行

5、遍历所有cell的方法

(1) 通过sheet.rows 获取所有行,注意,应为这个行不是一个列表,所有不用用索引指向每个cell

for row in cursheet.rows:

for cell in row:

print(cell.value)

(2) 把sheet.rows 转化成list 即 list(sheet.rows)这样就可以通过下标访问了

row_list = list(cursheet.rows)

# row_list[0][0].value = '李汉俊'

for i in range(currow):

for j in range(len(row_list[i])-1):

print(row_list[i][j].value)

注意row_list[i][j] 只是一个元组对,必须用.value 才能访问里面的值

6、表单值的写入

   其实就是append(list) 就是对每一行进行添加进去

   好像每个新的表单,都只是一行一列,所以应该先删掉第一行

 

for i in range(len(matrix)):

sheet2.append(matrix[i])

wb.save('myexcel.xlsx')

最后要保存,表格才真正写入

关于字典的一些函数

1、 fromkey(list [], value) 这个是建一个以list 为key,初始值为value的字典

2、 Py3 已经没有has_key(key) 这个函数了,用 key in dict  代替,返回值为true or false

3、 用setdefault(key,value) 创建字典对,记住没有大写

 

import openpyxl as xl 

def test_openpyxl():

	wb = xl.Workbook()
	# 默认有一个名字为Sheet的表单
	sheetlist  = wb.worksheets
	sheetname = wb.sheetnames

	# sheet = wb.create_sheet("sheet1")
	sheet = sheetlist[0]
	titles = ['size/M','speed/ms','final_planes', 'acc', 'mAP', 'r1', 'r5', 'r10', 'loss',
			  'acc', 'mAP', 'r1', 'r5', 'r10', 'loss','acc', 'mAP', 'r1', 'r5', 'r10', 'loss']
	sheet.append(titles)
	value = [1,3,4,5]
	value.insert(1,2)

	sheet.append(value)
	wb.save("test.xlxs")
	

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值