python中安装使用模块_22.python之模块的安装和使用

随着学习的不断深入,我们面对的问题也会越来越复杂,为了更好的解决就需要引入各种模块。本节课将会讲述openpyxl模块和csv模块的使用,同时也是为下节课的练习打基础。

1、什么是模块

我们对于模块并不陌生,之前的课程中我们已经通过调用random模块,来完成对一定范围内数据的随机选取。前面我们学了函数,知道调用函数能完成其中封装语句的功能,模块也是如此。

依照书中所说,模块是最高级别的程序组织单元。这句话的意思是模块什么都能封装。模块中不仅有变量、函数,还有我们还没有讲到的类。后面的课程会详细讲解类,你可以将类暂时看成封装了变量和函数的组织。

封装模块的目的是为了把程序代码和数据存放起来多次使用,不但能自己使用,还能共享给他人使用。使用模块的方法有两种,一种是自己建立模块使用,另一种是使用他人共享的模块。本节课只讲如何使用他人共享的模块。

2、模块的安装

python中有很多内置模块,即python安装后就准备好供你使用的(如random模块),这些不需要你单独安装。然而python还有很多第三方模块,想要使用它们需要下载和安装。操作方法如下:

(1)按win+R打开运行对话框,在里面输入cmd。

(2)Windows在其中输入【pip install + 模块名】,Mac用户在其中输入【pip3 install + 模块名】。本节课会以【openpyxl模块】为例做 讲解,你需要自己在电脑中安装。

(3)通常安装速度会比较慢,安装完成后会给出提示。因为我的电脑已经安装过【openpyxl模块】,所以会如上图中显示。

(4)有时候会因为超时导致安装失败,可以使用pip国内镜像进行安装,以下两种任选其一:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple + 模块名

pip install -i https://pypi.douban.com/simple module_name + 模块名

3、模块的使用

之前已经接触过用import语句调用random模块,openpyxl模块也是如此。当我们要调用多个模块时,可以用英文逗号隔开,如下:

import random,openpyxl

除了import语句能调用模块外,还可以使用from...import...语句,它的作用是从模块中调用一个指定的部分到当前模块,格式如下:

from 模块名 import 指定模块中的变量名/函数名/类名

使用from...import...语句导入后的指定部分可以直接使用,无需加上【模块.】的前缀,如下:

from random import randint

a = randint(1,100)

print(a)

使用from...import...语句调用多个模块也可以用英文逗号隔开,需要注意的是,没有被写在import后面的内容,将不会被调用。

刚才安装的【openpyxl模块】是用于excel格式文件的读取和写入数据,下面以此为例来说明如何使用模块。

(1)openpyxl模块的使用

调用openpyxl模块后,通过openpyxl.Workbook()函数创建新的工作簿,这个工作簿是一个空的excel文件,代码如下:

import openpyxl

wb = openpyxl.Workbook()

创建完工作簿后,还要获取工作表,否则程序不知道要把内容写入哪张工作表里,代码如下:

#获取这个工作簿的活动表,通常是第一个工作表

sheet = wb.active

#给第一个工作表命名,名称由默认的“sheet1”改成“new title”

sheet.title = 'new title'

然后往单元格中写入内容,写入时要定位到具体单元格(如A1、B2),然后给这个单元格赋值。

sheet['A1'] = '汉堡王'

如果想要往工作表里写入一行内容,需要用到append()函数。

row = ['麦当劳','肯德基','汉堡王']

sheet.append(row)

成功写入后,要保存文件,否则就白写了。

wb.save('food.xlsx')

将上述代码整合到一起,如下:

import openpyxl

wb = openpyxl.Workbook()

#获取这个工作簿的活动表,通常是第一个工作表

sheet = wb.active

#给第一个工作表命名,名称由默认的“sheet1”改成“new title”

sheet.title = 'new title'

sheet['A1'] = '汉堡王'

row = ['麦当劳','肯德基','汉堡王']

sheet.append(row)

wb.save('food.xlsx')

运行程序,在当前运行的【.py】文件的目录下能看到一个名称为【food】的excel文件,双击打开就能看到里面写入的内容,自己动手操作一下吧。

上面说的是excel文件的写入,下面来看读取。代码会直接给出,注意看代码中的注释。

#通过openpyxl.load_workbook函数读取food.xlsx文件

wb = openpyxl.load_workbook('food.xlsx')

#获取工作簿中名为【new title】的工作表

sheet = wb['new title']

#sheetnames用来获取工作簿中所有工作表的名称

sheetname = wb.sheetnames

#打印所有工作表的名称

print(sheetname)

#把工作表中A1单元格中的值给A1_cell

A1_cell = sheet['A1']

#打印单元格A1的值

print(A1_cell.value)

讲完openpyxl模块的读写后,再来讲讲csv模块的读写。

(2)csv模块的使用

csv模块是python自带的模块,不需要安装就能引用,先来看如何写入数据。通过import语句调用csv模块,然后创建一个名为“test.csv”的文件,代码如下:

import csv

csv_file = open('test.csv','w',newline='',encoding='gbk')

【newline=''】参数的作用是避免表格的行与行之间出现空白行。然后通过csv.writer()函数创建一个写入的对象。

import csv

csv_file = open('test.csv','w',newline='',encoding='gbk')

writer = csv.writer(csv_file)

创建写入对象后,通过writerow()函数将数据写入csv文件,写入的内容要写成列表的形式。写入完成后用close()函数关闭文件完成写入。

import csv

csv_file = open('test.csv','w',newline='',encoding='gbk')

writer = csv.writer(csv_file)

writer.writerow(['餐馆','食品'])

writer.writerow(['麦当劳','板烧鸡腿堡'])

writer.writerow(['肯德基','香辣鸡腿堡'])

csv_file.close()

运行程序,在当前运行的【.py】文件的目录下能看到一个名称为【test】的csv文件,双击打开就能看到里面写入的内容,自己动手操作一下吧。

上面说的是csv文件的写入,下面来看读取。代码会直接给出,注意看代码中的注释。

import csv

#打开【test.csv】文件

csv_file = open('test.csv','r',newline='',encoding='gbk')

#用csv.reader()函数创建一个读取对象

reader = csv.reader(csv_file)

#for循环遍历reader中的每一行,然后打印

for i in reader:

print(i)

到这里本节课的内容就讲完了,下节课我们会做一个练习,内容是第20课开篇提到的将多个excel中的内容合并到一个excel文件。这个练习不但涉及到之前的知识,还会引入一些新知识,因此会有一点儿难。如果前面的内容没有掌握好,建议回头再看一遍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值