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)

 

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...