python-读写Excel(二)-xlrd、xlwt、xlutils表复制
python操作Excel主要使用xlrd(读文件)和xlwt(写文件)库安装:pip install xlrd、pip install xlwt。
·
目录
python操作Excel主要使用xlrd(读文件)和xlwt(写文件)库
安装:pip install xlrd 、pip install xlwt
读文件
读取单个单元格的数据
import xlrd, xlwt excel = xlrd.open_workbook(r'D:\zhuomian\test.xls') sh1 = excel.sheet_by_index(0) cellvalue1 = sh1.cell_value(rowx=0, colx=0) # 获取单元格的值(行号,列号) cellvalue2 = sh1.cell(1, 1).value # 获取单元格的值(行号,列号) print(cellvalue1) print(cellvalue2)
读取多个单元格数据
excel = xlrd.open_workbook(r'D:\zhuomian\test.xls') sh1 = excel.sheet_by_index(0) print(sh1.nrows) # 读取列表中有效数据有多少行 print(sh1.ncols) # 读取列表中有效数据有多少列 print(sh1.row(2)) # 读取列表中指定行的数据(使用索引号),会打印数据的类型,[text:'额', text:'是', text:'时', empty:'', empty:'', empty:''] print(sh1.row_values(2)) # 读取列表中指定行的数据(使用索引号),不打印数据的类型,['额', '是', '时', '', '', ''] print(sh1.col(0)) # 读取指定列的数据(使用索引号) print(sh1.col_values(0))
通过有效行获取数据
for j in range(sh1.nrows): for i in sh1.row_values(j): # for i in sh1.row(j): print(i, end=' ') # print(i.value,end=' ')
写文件
写入数据sheet.write(row, col, data)
import xlrd, xlwt
exl = xlwt.Workbook() # 创建工作表文件对象
sheet = exl.add_sheet('sheet1') # 新建表
list_top = ['姓名', '性别', '年龄']
list_data = [
{'name': '黛玉', 'gender': '女', 'age': 16},
{'name': '宝钗', 'gender': '女', 'age': 17}
]
for i, top in enumerate(list_top):
sheet.write(0, i, top) # 写入数据(行,列,内容)
for i, data in enumerate(list_data):
sheet.write(i + 1, 0, data['name'])
sheet.write(i + 1, 1, data['gender'])
sheet.write(i + 1, 2, data['age'])
exl.save('wd.xlsx') # 保存文件
表复制
可以是文件读写的方法进行复制,这里使用新的方法xlutils库方法(可以方便使用表数据读写功能,相当于xlrd和xlwt结合体)
import xlrd
from xlutils.copy import copy
ele = xlrd.open_workbook('wd.xlsx') # 打开表
sheet1 = ele.sheets()[0] # 获取表单
new_wd = copy(ele)
st = new_wd.get_sheet(0)
st.write(4, 4, '测试xlutils库方法')
new_wd.save('new_wd.xlsx')
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献3条内容
所有评论(0)