Python xlwings模块
创始人
2024-03-29 17:29:17
0

一 xlwings安装与功能介绍

     使用特定模块前,需要在程序最前面进行模块导入,和JAVA导入依赖包一样。

             import 模块名

     也可以加上from语句导入特定的子模块(主要是防止某些模块太大影响加载速度)

             from 模块名 import 函数名(也可以用*代表所有)

  1.1 os模块

   os模块包含了与操作系统相关的一些功能,加上海量的辅助功能包,可以实现非常强大的功能。

             getcwd():获取当前运行pytho代码文件的路径

import os
path = os.getcwd()
print(path)

  以上程序会输出vscode定义的path工程文件的存储路径。

             listdir():获取某个文件夹所有文件和子文件夹的名称

import os
path = 'd:\\python'
list = os.listdir(path)
print(list)

  1.2 excel相关的模块

在处理Excel的时候需要对操作系统的文件进行操作,所以通常需要引入OS模块。

下图列举了与Excel高度相关的一些模块,后面用的比较多的是xlwings,其他模块可能会少量使用。

  二 xlwings功能介绍

  2.1 操作工作簿

  • 创建新的工作簿 
    import xlwings as xw  # 引入xlwings
    app = xw.App(visible=True,add_book=False) # 声明app
    workbook = app.books.add() # 新增workbook
    workbook.save(r'd:\pytest\test.xlsx') # 存储到本地路径
    app.quit() # 退出APP
  •  打开已经存在的工作簿
import xlwings as xw  # 引入xlwings
app = xw.App(visible=True,add_book=False) # 声明app
try:workbook = app.books.open(r'd:\pytest\test1.xlsx')
except FileNotFoundError:print('不存在的文件!')

2.2 操作工作表和单元格

import xlwings as xw  # 引入xlwings
app = xw.App(visible=True,add_book=False) # 声明app
try:workbook = app.books.open(r'd:\pytest\test.xlsx')
except FileNotFoundError:print('不存在的文件!')
worksheet = workbook.sheets.add('产品统计表')
worksheet.range('A1').value = '编号'
workbook.save()
workbook.close()
app.quit()

 三  Numpy

  NumPy(Numberical Python),是一个高效的、强大的数学计算模块,用于数学分析与数学计算。

  通常在做Excel大数据分析时需要用到Numpy与Pandas相结合。

  3.1 数组

   和JAVA程序一样,数组分为一维数组和多位数组,一维数组与列表有相似之处。

import numpy as np
a = [1,2,3,4]
b = np.array([1,2,3,4])
print(a)
print(b)
print(type(a))
print(type(b))

  

  np.arange(para1)  #只有一个参数:起点默认为0,para1为终点,步长为1,左闭右开

  np.arange(para1,para2) #两个参数:起点para1,终点para2,步长为1,左闭右开

  np.arange(para1,para2,para3) #三个参数:起点para1,终点para2,步长para3,左闭右开

import numpy as np
x = np.arange(5)
print(x)
y = np.arange(5,10)
print(y)
z = np.arange(5,10,2)
print(z)

  得到输出如下   

  

  random()函数: 创建随机一维数组。

import numpy as np
x = np.random.randn(3) #服从正态分布 均值0,标注差为1
print(x)

  

  reshape():  创建二维数组

import numpy as np
y = np.arange(12).reshape(3,4)
print(y)

randint() 创建随机整数二维数组

import numpy as np
e = np.random.randint(0,10,(4,4))
print(e)

四 pandas-数据分析与清洗

 pandas模块是基于NumPy的一个开源Python模块,应用于数据分析,数据清洗和数据准备等工作。pandas提供了非常直观的数据结构以及强大的数据处理功能,基本上Excel能够做到的,都可以通过pandas实现。

pandas包含Series和DataFrame两种数据结构。

4.1 Series

 类似于通过NumPy模块创建的一维数据,不同的是Series对象不仅包含数值,还包含一组索引。

import pandas as pd
s = pd.Series(['丁一','王二','张三'])
print(s)

  4.2 DataFrame

     DataFrame是一个二维数据表格结构。   

  3.5.1  二维数据表格DataFrame的创建与索引的修改

  •  DataFrame创建

   DataFrame()函数:基于列表创建DataFrame
  

import pandas as pd
a = pd.DataFrame([[1,2],[3,4],[5,6]])
print(a)

  • 自定义行与列索引
import pandas as pd
a = pd.DataFrame([[1,2],[3,4],[5,6]],columns=['date','score'],index=['A','B','C'])
print(a)

  另外一种定义方法

import pandas as pd
a = pd.DataFrame()
date = [1,3,5]
score = [2,4,6]
a['date'] = date
a['score'] = score
print(a)
  • 通过字段创建DataFrame

    通过字段创建DataFrame会默认以键名作为列索引

import pandas as pd
b = pd.DataFrame({'a':[1,3,5],'b':[2,4,6]},index=['X','Y','Z'])
print(b)

 

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...