openpyxl 操作2007版本以上的excel文件,后缀是xlsx 格式。
xlrd xlwt 特别是写入的时候,xlwt 应该是只能写入xls格式的 2003版本的excel的文件。还是更换新的库吧。
以前也使用过openpyxl ,操作起来比较简单。
首先安装:
pip install openpyxl
import openpyxl
['DEFUSEDXML', 'LXML', 'NUMPY', 'PANDAS', 'Workbook',
'cell', 'chart', 'chartsheet', 'comments', 'compat', 'constants',
'descriptors', 'drawing', 'formatting', 'formula', 'load_workbook',
'packaging', 'pivot', 'reader', 'styles', 'utils', 'workbook', 'worksheet', 'writer', 'xml']
1.创建一个新的工作簿,使用workbook() 这个创建后,工作簿里面只有一个工作表,表名是Sheet
wb = openpyxl.workbook()
print(wb.sheetnames) 可以打印工作簿里面有多少工作表,返回的是一个列表
如果是加载现有的工作簿,使用wb = openpyxl.load_workbook('这里最后是写完整的路径')
2.sheet = wb.active active 属性激活,也就是第一张表。
3. 向工作表的单元格里面写东西
第一种 ,直接赋值:
sheet['A1'] = "A是列1是第一行"
第二种,cell()方法赋值: sheet.cell(row= 1, column = 2, value="第二个单元")
下面这个图是cell 的方法。

4.从工作表的单元格中取数据。
一。 cell = sheet.cell() 这个是工作表中当前激活的单元格 ,单元格有3个属性。
print(cell.row ,cell.column, cell.value) --行 列 值
第一种:sheet['A1'] .value 获取的第一行第一列的单元格。
第二种:sheel.cell(row=1,column=1).value 获取的第一行第一列的单元格。
最后就是要保存工作簿。不然,数据不会被写入。
首先给表格起个名字:
dest_filename='empty_book.xlsx'
wb.save(filename=dest_filename) 这样就保存成功。
#获取 行 列
print(sheet.max_row)
print(sheet.max_column)
后续会把这些操作封装起来。


网友评论