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.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) 创建字典对,记住没有大写

猜你喜欢

转载自blog.csdn.net/weixin_42973678/article/details/84879955