资讯专栏INFORMATION COLUMN

python大佬养成计划----excel操作

cpupro / 3136人阅读

摘要:新型数据类型中存储系列数据,比较常见的数据类型有,除此之外,还有数据类型元组的只能通过访问,模块的子类不仅可以使用的访问,还可以通过的进行访问。可以将理解为中的结构,其首先将各个命名,然后对每个赋予数据。

namedtuple新型数据类型

Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型.tuple元组的item只能通过index访问,collections模块的namedtuple子类不仅可以使用item的index访问item,还可以通过item的name进行访问。可以将namedtuple理解为c中的struct结构,其首先将各个item命名,然后对每个item赋予数据。

from collections import namedtuple

#python自带namedtuple使用说明
#def namedtuple(typename, field_names, *, verbose=False, rename=False, module=None):
    # - typename: 元组名称
    # - field_names : 元组中元素的名称
    # - rename: 如果元素名称中包含python关键字, 必须设置rename=True

Info = namedtuple("Users",["name","age","college"])
userone = Info("sheen",16,"xupt")
print(userone,type(userone))
print(userone.name)

openyxl模块

是python的第三方库,对xlsx格式的Excel文档进行操作

Excel基本信息

工作薄(workbook)

工作表(sheet)

活动表(active sheet)

行(row): 1,2,3,4,5,6.......

列(column): A,B,C,D........

单元格(cell): B1, C1

python与excel
import openpyxl
#1.加载excel文档
workbo = openpyxl.load_workbook("example.xlsx")#
all_sheet = workbo.sheetnames   #显示所有的工作表,["Sheet1", "Sheet2", "Sheet3", "Sheet4"]
active_sheet = workbo.active    #显示活动表,
#2.选择要操作的工作表
sheet = workbo["Sheet1"]        #选择要操作的工作表
title_sheet = sheet.title       #获取工作表名称,Sheet1

#3.查看指定的单元格信息
cell_b1 = sheet.cell(row=1,column=2)    #查找指定单元格信息,返回一个对象,
value_b1 = cell_b1.value                #查看指定单元格内容,17

#4.获取工作表的行数和列数
max_row = sheet.max_row         #获取工作表行数
max_column = sheet.max_column   #获取工作表列数

#5.修改工作表信息和单元格信息
sheet.title = "family_info"     #修改工作表的标题
sheet["B1"] = 100               #修改单元格值
#6.访问所有单元格信息
info_row = sheet.rows               #返回的是一个生成器,
for row in info_row:          #遍历工作表,拿出每一个值
    for column in row:
        print(column.value,end=" ")
    print()

#7.保存修改信息
workbo.save(filename="modify.xlsx")



excel再排序

根据表格内容再次排序,并保存到新的文件中

# 需求:
# 商品名称    商品价格    商品数量

# - 定义一个函数, readwb(wbname, sheetname=None)
# - 如果用户指定sheetname就打开用户指定的工作表, 如果没有指定, 打开active sheet;
# -  根据商品的价格进行排序(由小到大), 保存到文件中;商品名称:商品价格:商品数量

import openpyxl
def readwb(wbname,sheetname=None):
    workbo = openpyxl.load_workbook(wbname)
    if not sheetname:
        sheet = workbo.active
    else:
        sheet = sheetname
    wb_info = []
    for row in sheet.rows:
        row_info = [val.value for val in row]
        wb_info.append(row_info)
    return sorted(wb_info,key=lambda item:item[1])
def save_to_excel(data,wbname,wbsheet="Sheet1"):
    workbo = openpyxl.Workbook()
    sheet = workbo.active
    for row_index,row in enumerate(data):
        for column_index,cell_value in enumerate(row):
            sheet.cell(row=row_index+1,column=column_index+1,value=cell_value)
    workbo.save(wbname)

excel_info = readwb("Book1.xlsx")
save_to_excel(excel_info,"Book1_modify.xlsx")


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42425.html

相关文章

  • python大佬养成计划----os,datetime,time模块补充

    摘要:是否则检验指定的对象是否存在。由于的模块实现主要调用库,所以各个平台可能有所不同。时间格式时间戳的方式通常来说,时间戳是指格林威治时间年月日时分秒北京时间年月日时分秒起至现在的总秒数。元组方式元组共有个元素,返回的函数主要有,,。 os模块 os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,...

    frank_fun 评论0 收藏0
  • python大佬养成计划----Flask蓝图

    摘要:使用蓝图的概念来制作应用程序组件和支持应用程序内部或跨应用程序的通用模式。蓝图可以大大简化大型应用程序的工作方式,并为扩展提供了在应用程序上注册操作的中心手段。相反,它是如何构造或扩展应用程序的蓝图。 蓝图 之前我们已经通过代码了解了一些Flask基本的用法,现在出现一个问题,我们要做的功能越来越多,路由是不是都要放在run文件中呢?例如我们在不同的文件都定义了一些路由,如果想要访问他...

    liaosilzu2007 评论0 收藏0
  • python大佬养成计划----HTML DOM

    摘要:定义了所有元素的对象和属性,以及访问它们的方法。换言之,是关于如何获取修改添加或删除元素的标准。根据标准,中所有内容都是节点。好比我有两个下拉列表,第一列表是选择省份,那么我选择某一个省份,那么另一个列表也会对应显示该省份的城市。 什么是DOM? DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。HTML DOM 定义了...

    leejan97 评论0 收藏0
  • python大佬养成计划----Flask蓝图

    摘要:使用蓝图的概念来制作应用程序组件和支持应用程序内部或跨应用程序的通用模式。蓝图可以大大简化大型应用程序的工作方式,并为扩展提供了在应用程序上注册操作的中心手段。相反,它是如何构造或扩展应用程序的蓝图。 蓝图 之前我们已经通过代码了解了一些Flask基本的用法,现在出现一个问题,我们要做的功能越来越多,路由是不是都要放在run文件中呢?例如我们在不同的文件都定义了一些路由,如果想要访问他...

    dailybird 评论0 收藏0
  • python大佬养成计划----Flask蓝图

    摘要:使用蓝图的概念来制作应用程序组件和支持应用程序内部或跨应用程序的通用模式。蓝图可以大大简化大型应用程序的工作方式,并为扩展提供了在应用程序上注册操作的中心手段。相反,它是如何构造或扩展应用程序的蓝图。 蓝图 之前我们已经通过代码了解了一些Flask基本的用法,现在出现一个问题,我们要做的功能越来越多,路由是不是都要放在run文件中呢?例如我们在不同的文件都定义了一些路由,如果想要访问他...

    tianyu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<