task02 Python自动化之Excel

本文详细介绍了使用Python进行Excel操作,包括读取Excel表格、写入数据、插入删除行列、Sheet表操作及设置样式,提供了丰富的示例和练习题。
摘要由CSDN通过智能技术生成

本次学习资料均来自datawhale
https://github.com/datawhalechina/team-learning-program/blob/master/OfficeAutomation

import pandas as pd
import numpy as np
from openpyxl import load_workbook
exl = load_workbook("test.xlsx")
print(exl.sheetnames) # 获得表格的所有sheet名
['work', 'Sheet2']

1、Excel读取

1.1 读取对应sheet表格

### 原test表有2个及以上的sheet,将excel读进python后,可以通过指定key值的方式获取表格
# 比如获得work这张sheet内的内容
sheet = exl["work"]

# 比如获得Sheet2这张sheet表的内容
sheet = exl['Sheet2']
### 原test表只有1个sheet,也有一个简便方式获得sheet表内容,而不需要知道sheet表的名称
sheet = exl.active
#### 注意,如果excel表有多个sheet,用这样方式只能获得第一个sheet表的内容。
sheet = exl["Sheet2"]
# 只有一张表
sheet = exl.active
sheet
<Worksheet "Sheet2">
# sheet表内数据占据的单元格范围
# 数据没有空格
sheet = exl['work']
print(sheet.dimensions)
A1:B51104
# 数据中间有空白单元格
sheet = exl['Sheet2']
print(sheet.dimensions)
A1:D5

结果显示,不考虑中间的空白单元格,只显示能框选所有数据的单元格范围

1.2 读取单元格

1.2.1 获取某个单元格的具体内容

# 方法1:指定行列数
exl = load_workbook("test.xlsx")
sheet = exl["work"]
cell = sheet.cell(row=1,column=2) # 指定行列数
print(cell.value)
人流数
# 方法2:字母+数字的表示方式指定单元格位置
cell_1 = sheet["B1"] # 单元格
print(cell_1.value)
人流数

1.2.2 获取单元格对应的行、列和坐标

print(cell_1.row,cell_1.column,cell_1,cell.coordinate)
1 B <Cell 'work'.B1> A1

1.3 读取多个格子的值

1.3.1 指定坐标范围

cell = sheet["A1:B5"]  # A1到B5区域的值

1.3.2 指定行的值

row = sheet[1]  # 第一行的值
rows = sheet[1:5]  # 第1到第5行的值

1.3.3 指定列的值

col = sheet["A"]   # A列的值
cols = sheet["A:C"]  # A列到C列的值

1.3.4 指定范围的值

行获取
for row in sheet.iter_rows(min_row=1,max_row=5):
    print(row)
    for cell in row:
        print(cell.value)
(<Cell 'work'.A1>, <Cell 'work'.B1>)
时间点
人流数
(<Cell 'work'.A2>, <Cell 'work'.B2>)
2020-09-01
63306.166000000005
(<Cell 'work'.A3>, <Cell 'work'.B3>)
2020-09-01
40535.964
(<Cell 'work'.A4>, <Cell 'work'.B4>)
2020-09-01
30026.64
(<Cell 'work'.A5>, <Cell 'work'.B5>)
2020-09-01
46291.07
列获取
for col in sheet.iter_cols(min_row=1,max_row=5,min_col=1,max_col=2):
    print(c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值