系统自动化~02 Python操作EXC表格(入门)

系统自动化~02 Python操作EXC表格(入门)

上一期 系统自动化~01 Python入门

安装 pip install xlwt

初次使用

创建表格并添加数据

import xlwt
# 创建工作表
wb = xlwt.Workbook()
na = input("请输入工作簿名 : ")
#选择工作薄
sh1 = wb.add_sheet(na)
lis = int(input("请问需要多少列 "))
lin = int(input("请问需要多少行 "))
for i in range(0,lin):
    for j in range(0,lis):
        n = input("请输入{0}行{1}列单元格的内容: ".format(i + 1,j + 1))
        #输入数据
        sh1.write(i,j,n)
st = input("请输入文件路径 ")
name = input("请输入文件名 ")
wb.save(st + "/" + name + ".xlsx")

读取excel 安装 pip install xlrd

import xlrd
# 打开excel
wb = xlrd.open_workbook('E:/ExcelProject/z_permission.xls')
#查看工作簿的个数
print(f'excel中有{wb.nsheets}个工作薄')
# 选择工作薄
sh1 = wb.sheet_by_index(0)  #根据坐标
sh2 = sh2 = wb.sheet_by_name('信用代码')  #根据名称
# 获取单元格的值
print(f'第一行第二列的值:{sh1.cell_value(0,1)}')
print(f'第一行第二列的值:{sh1.cell(0,1).value}')
print(f'第一行第二列的值:{sh1.row(0)[1].value}')
# 遍历所有数据
for r in range(sh2.nrows):
    for c in range(sh2.ncols):
        print(f'第{r}行 第{c}列的数据是 {sh2.cell_value(r,c)}')

# 获取整行或者整列的数据
print(sh1.row_values(0))   #整行
print(sh1.col_values(0))   #整列

做练习 : 创建一个表然后遍历出来

import xlwt
import xlrd
#创建工作表
wb = xlwt.Workbook()
#设置工作簿名
name = input("请输入工作簿名称 : ")
#选择工作薄
shl = wb.add_sheet(name)
#输入列和行
lis = int(input("请问需要多少列 : "))
line = int(input("请问需要多少行 : "))
#开始输入
for i in range(0,line):
    for j in range(0,lis):
        n = input("请输入第{}行第{}列个单元格数据 : ".format(i,j))
        shl.write(i,j,n)
path = input("请输入文件路径 : ")
fileName = input("请输入文件名 : ")
filePath = path + "/" + fileName + "xls"
wb.save(filePath)
#-----------------------  读 -----------------------
rwb = xlrd.open_workbook(filePath)
#选择工作簿
shl = rwb.sheet_by_index(0)
for r in range(shl.nrows):
    for c in range(shl.ncols):
        print("第{}行{}列的数据是 : {}".format(r,c,shl.cell_value(r,c)))

修改 安装 pip install xlutils

在这里插入图片描述

题目 : 将ABCDE...XYZ倒过来,旁边的数字不变

import xlrd
from xlutils.copy import copy
import xlwt
# 打开excel
read_book = xlrd.open_workbook('E:/ExcelProject/student.xls')
# 复制数据
wb = copy(read_book)
# 选择工作薄 (改)
sh = wb.get_sheet(0) #根据坐标
# 选择工作薄 (读)
shl = read_book.sheet_by_index(0)  #根据坐标
#获得整列的数据
str = []
for i in range(0,shl .nrows):
    str.append(shl .cell_value(i,0))
#倒过来
str.reverse()
print(str)
for i in range(0,len(str)):
    sh.write(i,0,str[i])
wb.save('E:/ExcelProject/student.xls')
  • 21
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值