python-读写Excel(二)

python-读写Excel(二),第1张

目录

读文件

写文件

表复制


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')

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/2989954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存