文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python文件的读取

2023-09-01 20:04

关注

python文件的读取

1.文件的读取

操作文件的第一步就是得打开要操作的文件,然后进行读取文件,最后关闭文件。在python中我们可以使用open函数来打开一个文件,然后读取文本文件。
读取文本文件内容有三种方法:read()、readline() 和 readlines()

打开文件有两种书写方式:

需要使用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()

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+1f4.close()

输出结果:

翻山越岭 寻一个你
第1行 翻山越岭 寻一个你
第2行 不负此生 不负相遇 不负我偏向苦海去
第3行 只为渡你

3. readlines() 读取文件的所有行

readlines()方法读取整个文件所有行,保存在一个列表(list)变量中;

示例如下:

f5=open('./test.txt', encoding='utf-8')contents3=f5.readlines()f5.close()print(contents3[1])

输出结果:

不负此生 不负相遇 不负我偏向苦海去

2.文件的写入

写入文件,分为向新文件写入数据和向已有文件写入数据。向文件写入数据的过程为:

  1. 创建新文件(已有则不需要创建)
  2. 使用用open()方法打开文件
  3. 使用write()方法向文件写入数据
  4. 使用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 osif 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)#dudata= 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()方法的常用参数

示例如下:

#可读取任意列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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯