excel文件操作、多线程

总结# 首先导入openpyxlimport openpyxlopenpyxl.load_workbook(地址) - 打开现有的excel文件openpyxl.Workbook() - 新建一个excel文件# 1.获取工作簿对象(工作簿对应的就是一个excel文件)# 新建(默认有一个工作表)# work_book = openpyxl.Workbook()# 打开# work_book = openpyxl.load_workbook(文件路径)# work_book = o
摘要由CSDN通过智能技术生成

总结

# 首先导入openpyxl
import openpyxl
  • openpyxl.load_workbook(地址) - 打开现有的excel文件
  • openpyxl.Workbook() - 新建一个excel文件
# 1.获取工作簿对象(工作簿对应的就是一个excel文件)
# 新建(默认有一个工作表)
# work_book = openpyxl.Workbook()
# 打开
# work_book = openpyxl.load_workbook(文件路径)
# work_book = openpyxl.Workbook()
work_book = openpyxl.load_workbook('files/test2.xlsx')
  • 获取所有的表的表名 – 工作簿对象.sheetnames
all_names = work_book.sheetnames
  • 获取表
sheet = work_book['Sheet']
  • 工作簿对象.create_sheet(表名,表单下标)
# 新建表
work_book.create_sheet('学生表', 1)
  • 工作簿对象.remove(表对象)
# 删除表
work_book.remove(sheet)
# 表重命名
sheet.title = 'Student'
  • 写入数据到单元格
# 单元格对象.value  --  获取单元格中的内容
# 单元格对象.value = 新值  --  修改单元格中的内容
sheet = work_book['Student']
# 获取单元格 方法一
# 工作表对象.cell(行号,列号)
cell1 = sheet.cell(1, 1)
# 修改单元格内容
cell1.value = '姓名'
# 方法二
cell2 = sheet['B1']
cell2.value = '年龄'
# 清空单元格
cell2.value = ''

# 5.保存文件
work_book.save('files/test2.xlsx')
  • excel读操作
# 1.打开文件
wb = openpyxl.load_workbook('files/test1.xlsx')

# 2.获取工作表
# sheet = wb['学生表']
sheet = wb.active

# 3.获取单元格
# 1) 获取单个单元格
# sheet.cell(行号,列号)  --  行号和列号都是从1开始的数字
# sheet[位置信息]  --  位置信息是类似:'A1','B2'的行列信息,其中字母是列信息,数字是行号

# 2)以行为单位获取单元格对象
# 工作表对象.iter_rows(最小行号,最大行号,最小列号,最大列号)
# cells = sheet.iter_rows(1, 4, 1, 4)
# print(list(cells))
#
# row_4 = sheet.iter_rows(4, 4)
# print(list(row_4))

# cells = sheet.iter_rows(2, 4, 1, 2)
# print(list(cells))


# 3) 以列为单位获取单元格对象
# cells = sheet.iter_cols(1, 4, 1, 4)
# print(list(cells))

all_scores = sheet.iter_cols(4, 4, 2, 4)
# print(list(all_scores))
for score in next(all_scores):
    print(score.value)
  • selenium设置选项
from selenium import webdriver

url = 'https://www.jd.com'

# 1.创建设置选项
options = webdriver.ChromeOptions()

# 2.添加选项参数
# 1)取消测试环境
options.add_experimental_option('excludeSwitches', ['enable-automation'])

# 2)取消图片加载(提高爬虫效率)
options.add_experimental_option("prefs", {
   "profile.managed_default_content_settings.images": 2})

b = webdriver.Chrome(options=options)
b.get(url)
print(b.page_source)
  • 多线程技术
# 一个进程默认有一个线程,这个线程叫主线程。其他的线程(需要手动创建)都叫子线程。
# 如果一个python程序需要子线程,需要手动创建线程类Thread的对象
# 代码实现多线程的原理:

import time
from datetime import datetime
from threading import Thread
# Thread类  --  线程类  Thread类的对象  --  子线程


def download(name):
    print(f'{
     name
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值