一、文件的类型
1
、文本文件:基于字符编码、存储的是普通字符串、不包括字体、字号、颜色、样式等信息,可通过文本编 辑器显示和编辑。
2
、二进制文件:基于值编码的,以字节形式存储、其编码长度根据值得大小长度可变。如.jdp/.avi
图片视频文件
二、文件的操作
使用open()函数打开(或建立)文件,返回一个file对象;
使用file对象的读/写方法对文件进行读/写操作
使用file对象的close()方法关闭文件
#实例一、读出Stu_pack里的文本文件‘See You Again.txt’
#打开文件(英文和中文不一样)
#绝对路径
#open('C:\\Users\\yzkj\\Desktop\\吴贞贞2021110205083\\Stu_pack\\See You Again.txt')
#open('C:/Users/yzkj/Desktop/吴贞贞2021110205083/Stu_pack/See You Again.txt')
#open(r'C:\Users\yzkj\Desktop\吴贞贞2021110205083\Stu_pack\See You Again.txt')
#相对路径
#file = open('../Stu_pack/Dream It Possible.txt',encoding='utf-8')
file
=
open
(
'../Stu_pack/Dream It Possible.txt'
,
'rb'
)
#(2)读文件
fr
=
file
.
readlines()
#将文件一行为单位打印出来
#print(fr) #用print函数清洗换行
#常用此格式打印
for
line
in
fr:
print
(line)
#(3)关闭文件
file
.
close()
#(4)即开既关的打开方式;
with open
(
'../Stu_pack/万疆.txt'
,
'rt'
,encoding
=
'utf-8'
)
as
file:
file
.
readlines()
#实例二、读出Stu_pack里的二进制文件
from
PIL
import
Image
# Image.open('../Stu_pack/Love_Star.PNG') #打开图像
im
=
Image
.
open(
'../Stu_pack/Love_Star.PNG'
)
#创建打开图像对象im
im
.
save(
'../R&Q_pack/Love.png'
)
#将生成的图片文件保存在指定路径里面
#实例三、写文本文件:向当前文件夹demo里写入文件test.txt,其内容为十行自己的学号姓名
f_w
=
open
(
'test.txt'
,
'w'
,encoding
=
'utf-8'
)
#若文件不存在则新建文件,若有则重新
文件
for
i
in
range
(
1
,
11
):
f_w
.
write(
str
(i)
+
',2021110205083吴贞贞
\n
'
)
#用with结构读出文件内容:
f_w
.
seek(
0
)
#将文件指针定位到文件开始位置
with open
(
'test.txt'
,encoding
=
'utf-8'
)
as
file:
print
(file
.
read())
f_w
.
close()
三、
Excel
文件的读写
1
、第三方库的安装(读取:
xlrd,
写入:
xlwt
)
2实例一、读取
Excel
文件内容,将结果保存在列表中
操作步骤:
1
、导入模块
xlrd
2
、打开工作簿
Book
3
、制定工作簿中的工作表
Sheet
4
、根据行列序号读取内容
#(1)导入模块xlrd
import
xlrd
#(2)打开工作簿Book
wb
=
xlrd
.
open_workbook(
'..\Stu_pack\school.xls'
)
#创建打开文件的对象wb
#(3)制定工作簿中的工作表Sheet
sheet
=
wb
.
sheet_by_index(
0
)
#索引工作簿中的第一个工作表并创建对象,0表示第一
个,1表示第二个,2表示第三个
#(4)根据行列序号读取内容
schools
=
[]
#定义一个二维列表存放工作表数据
for
row
in
range
(sheet
.
nrows):
# sheet.nrows表示工作表总行数
school
=
[]
#定义一个一维列表存放每行内容(单元格内容)
for
col
in
range
(sheet
.
ncols):
content
=
sheet
.
cell_value(row,col)
#读出单元格的具体内容
school
.
append(content)
#将读出的数据追加到school里面
schools
.
append(school)
#将每行的内容追加到二维列表schools里面
#(5)读出数据
for
school
in
schools:
print
(school)
import
xlrd
wb
=
xlrd
.
open_workbook(
'../Stu_pack/school.xls'
)
sheet
=
wb
.
sheet_by_index(
0
)
schools
=
[]
for
row
in
range
(sheet
.
nrows):
school
=
[]
#定义1一个一维列表
for
col
in
range
(sheet
.
ncols):
content
=
sheet
.
cell_value(row,col)
#读取每个单元格的数据存放在content中
school
.
append(content)
#将单元格中的数据追加到一维列表中
schools
.
append(school)
#读取二维列表的数据前十行
#for school in schools[:10]:
# print(school)
i
=1
for
school
in
schools:
if
i
<12
:
print
(school)
i
+=1
import
pandas
as
pd
data
=
pd
.
read_excel(
'../Stu_pack/school.xls'
)