python文件的读取、写入与删除
作者:lianlianerya 发布时间:2022-01-21 21:17:12
1.文件的读取
操作文件的第一步就是得打开要操作的文件,然后进行读取文件,最后关闭文件。在python中我们可以使用open函数来打开一个文件,然后读取文本文件。
读取文本文件内容有三种方法:read()、readline() 和 readlines()
打开文件有两种书写方式:
1.需要使用close()方法关闭文件
示例如下:
#文件的读取
import os
#以相对路径打开文件
f= open("./test.txt",encoding='utf-8')
#以绝对路径打开文件
#f= open("D:\\Anacond/work/learn数据清洗/文件读取及其处理/test.txt",encoding='utf-8')
#读取文件
content=f.read()
#关闭文件
f.close()
2.with语句能自动处理上下文环境产生的异常并且关闭文件句柄
示例如下:
import os
#打开文件
with open('./test.txt', encoding='utf-8') as f2:
#读取文件
contents = f2.read()
print(contents)
输出结果:
翻山越岭 寻一个你
不负此生 不负相遇 不负我偏向苦海去
只为渡你
1.read() 读取整个文件
示例如下:
f3=open('./test.txt', encoding='utf-8')
contents1=f3.read()
f3.close()
输出结果:
翻山越岭 寻一个你
不负此生 不负相遇 不负我偏向苦海去
只为渡你
2.readline() 每次读取一行文件
readline() 每次读取一行文件,可利用循环将文件内容全部读出
示例如下:
f4=open('./test.txt', encoding='utf-8')
#此时只读取了一行
contents2=f4.readline()
print(contents2)
i=1
#利用循环全部读出
while contents2:
print(f'第{i}行 {contents2}')
contents2=f4.readline()
i=i+1
f4.close()
输出结果:
翻山越岭 寻一个你
第1行 翻山越岭 寻一个你
第2行 不负此生 不负相遇 不负我偏向苦海去
第3行 只为渡你
3. readlines() 读取文件的所有行
readlines()方法读取整个文件所有行,保存在一个列表(list)变量中;
示例如下:
f5=open('./test.txt', encoding='utf-8')
contents3=f5.readlines()
f5.close()
print(contents3[1])
输出结果:
不负此生 不负相遇 不负我偏向苦海去
2.文件的写入
写入文件,分为向新文件写入数据和向已有文件写入数据。向文件写入数据的过程为:
创建新文件(已有则不需要创建)
使用用open()方法打开文件
使用write()方法向文件写入数据
使用close()方法关闭文件
在文件的写入使用open()方法时,需要用到以下三个参数:
“x” - 创建 - 将创建一个文件,如果文件存在则返回错误
“a” - 追加 - 如果指定的文件不存在,将创建一个文件
“w” - 写入 - 如果指定的文件不存在,将创建一个文件
1.以"x"方式打开文件
注意:如果该文件已存在则会返回错误,并且不会写入内容
示例如下:
import os
#创建文件1.txt,若文件已存在则返回错误
ff=open('test1.txt',"x")
#向文件写入内容
ff.write("这一秒,像梦一般心跳")
#关闭文件
ff.close()
ff=open('test1.txt')
ss=ff.read()
ff.close()
print(ss)
输出结果:
这一秒,像梦一般心跳
2.以"a"方式打开文件
注意:该方式是向文件追加数据,会追加到文件的末尾;同时该文件不存在还会自动创建文件。
示例如下:
import os
#向文件1.txt追加内容
ff=open('test1.txt',"a")
#向文件追加内容
ff.write(" 美好的无需安排,我一直充满期待,无所不在的未来,跨过晴空云海")
#关闭文件
ff.close()
文本内容:
这一秒,像梦一般心跳 美好的无需安排,我一直充满期待,无所不在的未来,跨过晴空云海
3.以"w"方式打开文件
该方式是向文件重写数据,会覆盖文件已有的内容;同时该文件不存在还会自动创建文件。
示例如下:
import os
#向文件1.txt重写文件内容
ff=open('test1.txt',"w")
#向文件重写内容
ff.write("Tell me what u gonna do it")
#关闭文件
ff.close()
文件内容:
Tell me what u gonna do it
3.文件的删除
可使用remove()删除文件,为避免不存在该文件,可检查文件是否存在,然后再删除它
示例如下:
import os
if os.path.exists("demofile.txt"):
os.remove("demofile.txt")
else:
print("The file does not exist")
4.Excel表数据的读取
python读取excel文件的三种方法:一种是直接读取;另两种是通过pandas读取,相对比比较方便
1.直接读取
示例如下:
import xlrd #引入库
ex=xlrd.open_workbook("超市营业额.xls")
sheet_num=ex.nsheets #文件中工作表的个数
print(sheet_num)
sheet_name=ex.sheet_names() #各个工作表的名称
print(sheet_name)
sheet=ex.sheet_by_index(2) #通过索引获取第一个工作表
#输出sheet的形状
print(sheet.nrows,sheet.ncols)
#获取第一行的数据
row_data=sheet.row_values(0) #返回给定的行数的单元格数据进行切片
print(row_data)
#获取第二列的数据
col_data=sheet.col_values(1)
print(col_data)
#获取位置为(0,1)单元格的数据
one_data=sheet.cell(0,1)
print(one_data)
输出结果:
3
[‘表1’, ‘表2’, ‘表3’]
8 3
[‘工号’, ‘姓名’, ‘职级’]
[‘姓名’, ‘张三’, ‘李四’, ‘王五’, ‘赵六’, ‘周七’, ‘钱八’, ‘孙九’]
text:‘姓名’
2.通过pd.ExcelFile()读取
示例如下:
import pandas as pd
#读取工作簿和工作簿中的工作表
fff=pd.ExcelFile('超市营业额.xls')
print(fff.sheet_names)
#du
data= fff.parse('表3')
data
输出结果:
3.通过pd.read_excel()读取
这种方法最为方便快捷
示例如下:
import pandas as pd
#读取excel文件
#该方法默认读取该文件中第一张表
df=pd.read_excel('./超市营业额.xls')
#如果Excel文件有多个表格,可通过sheet_name属性指定,如果不指定默认读取第一张表
#df1=pd.read_excel('./超市营业额.xls',sheet_name='表3')
df[0:5]
输出结果:
pd.read_excel()方法的常用参数
sheet_name:指定读取文件中哪一张表
usecols:指定读取表中的哪几列
header:指定表中哪一列作表头,也就是列索引
index_col:指定表中哪一列作行索引
示例如下:
#可读取任意列
df1=pd.read_excel('./超市营业额.xls',sheet_name='表3',usecols = [0,2])
print(df1)
#可指定第3行为列索引,指定第2列为行索引
df3=pd.read_excel('./超市营业额.xls',sheet_name='表3',header=2,index_col=1)
df3
输出结果:
5.Excel表数据的写入
示例如下:
import pandas as pd
#创建名为1.xls的文件
ss=pd.ExcelWriter('1.xls')
#使用to_excel将df3的数据写入到新建的工作簿的工作表1中
df.to_excel(ss,sheet_name='1',index=True)
#保存并退出
ss.save()
来源:https://blog.csdn.net/qq_45011164/article/details/127584512
猜你喜欢
- 这段后门代码可以隐藏在asp文件中,大家可以搜索一些特点的关键字,查看文件的修改日期,看看是不是有如下的代码。<%if re
- 原理就是先声明常量,包括列数,行数,各列的属性,然后在程序的其它过程用这些常量来控制Cells。非常方便,便于修改和移植! 以下为窗体整体代
- 如代码1所示: // 代码 1 // 外观层类 class LWordHomePage { // 添加留言 public function
- 有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 M
- 带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个
- 导语一直以来,中国象棋都是中华民族的一种象征,当然也是人们最为喜感的一种娱乐方式。在若干年前,人们都习惯于约上自己的棋友,来一种激战。可是,
- 一般事件事件浏览器支持描述onClickHTML: 2 | 3 | 3.2 |
- 第一次用Python写这种比较实用且好玩的东西,权当练手吧游戏说明:* P键控制“暂停/开始”* 方向键控制贪吃蛇的方向源代码如下:from
- 从这节开始,将会给大家介绍几个ASP中的三大通用类,它贯穿于我所设计的三层架构中,是对ASP语法的扩展,可以提高很多细节处理上的效率,可以算
- 不知道算不算DW4的大BUG. DW4实际的运行如下: 读注册表中HKEY_CURRENT_USER/
- uni-simple-router专为uniapp打造的路由器,和uniapp深度集成通配小程序、App和H5端H5能完全使用vue-rou
- 这篇文章主要介绍了Python如何使用Gitlab API实现批量的合并分支,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 用ASP实现搜索引擎的功能是一件很方便的事,可是,如何实现类似3721的智能搜索呢?比如,当在搜索条件框内输入“中国人民”时,自动从中提取“
- 以前有过一篇类似的文章, 讲的比较简单只有三个插件而已, 所以这篇文章将全持续更新.jQuery UI 大名顶顶, 不用介绍, 它的各个控件
- 1:在终端下:mysql -V。 以下是代码片段:[shengting@login ~]$ mysql -Vmysql Ver 14.7 D
- Macromedia Dreamweaver MX 2004提供了更多功能强劲的可视化设计工具、应用开
- 官方网站:http://www.extjs.com/演示地址:http://www.yaohaixiao.com/effects/sampl
- 代码如下所示:表landundertake结构如下所示:表appraiser结构如下所示:access代码:代码如下:TRANSFORM F
- 开发环境:python 3.6django 1.11场景一经常有从数据库中获取一批数据,然后在前端以列表的形式展现,比如:获取到所有的用户,
- 在这里我们将介绍的是MySQL内存使用上的线程独享,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,