python文件的读取

news2024/12/19 14:55:15

python文件的读取

  • 1.文件的读取
    • 1.read() 读取整个文件
    • 2.readline() 每次读取一行文件
    • 3. readlines() 读取文件的所有行
  • 2.文件的写入
    • 1.以"x"方式打开文件
    • 2.以"a"方式打开文件
    • 3.以"w"方式打开文件
  • 3.文件的删除
  • 4.Excel表数据的读取
    • 1.直接读取
    • 2.通过pd.ExcelFile()读取
    • 3.通过pd.read_excel()读取
      • pd.read_excel()方法的常用参数
  • 5.Excel表数据的写入

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.文件的写入

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

  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 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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1781.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL Server2019配置always on高可用图文步骤

准备工作 首先需要准备好Windows Server上的故障转移群集,步骤可以参考上一篇。 https://blog.csdn.net/u012869793/article/details/127560270?spm1001.2014.3001.5501 然后服务器上安装好SqlServer,我这里安装的是2019。 正文 勾选启用Always ON可…

牛客竞赛每日俩题 - Day7

目录 经典01背包问题 二叉树遍历与构造(考研重点) 经典01背包问题 求正数数组的最小不可组成和_百度笔试题_牛客网 参考大佬题解: 动态规划:01背包问题(无物品价值),思想相同,题目最终要求有些变化 min为…

【机器人定位引导中的机器视觉技术】

文章目录手眼标定原理手眼标定流程定位引导1、单相机抓取定位引导2、单相机纠偏定位引导3、上下相机对位引导随着工业生产中对自动化的要求越来越高,视觉技术已被广泛引入工业机器人行业,具备视觉的工业机器人能更快、更准、更灵活地完成定位抓取、对位组…

Linux系统 (三)- 权限介绍

~~~~前言命令行解释器 -- Command Line Interpreter ShellLinux操作系统命令行解释器对命令行解释器的初步认识命令行解释器的意义shell分类命令行解释器 CLI Shell图形界面 GUI ShellLinux权限Linux中用户分类su基本语法sudo基本语法配置操作权限管理权限是什么文件分类文件属…

【一起学数据结构与算法】计数排序、基数排序、桶排序(含菜鸟教程代码)

目录前言一、计数排序1.1 排序思想1.2 代码1.3 菜鸟教程官方代码(搬运)二、基数排序2.1 排序思想2.2 代码2.3 菜鸟教程官方代码(搬运)三、桶排序3.1 排序思想3.2 代码3.3 菜鸟教程官方代码(搬运)前言 之前我们学过了几种常见的排序,都是基于比较的排序,…

ES6中扩展对象的功能性

对象是JavaScript编程的核心,ECMAScript6为对象提供了许多简单易用且更加灵活的新特性。 ECMAScript 6在对象字面量的基础上做出了以下几个变更: 简化属性定义语法,使将当前作用域中的同名变量赋值给对象的语法更加简洁 function createPe…

【MySQL】MySQL基本操作详解

系列文章目录 第1篇:【MySQL】MySQL介绍及安装 第2篇:【MySQL】MySQL基本操作详解 文章目录 ✍1,数据库操作     🔍1.1,查看数据库     🔍1.2,创建数据库     🔍1.3,选择数据库     &…

Kubernetes基础_02_Pod全解析

系列文章目录 文章目录系列文章目录前言一、Pod的生命周期Lifecycle二、Pod的重启策略RestartPolicy三、静态Pod四、Pod的健康检查总结前言 Pod是Kubernetes最小单位,当然一个Pod可以有多个Container,但是container是docker的元素,不是Kuber…

CTFHub | 布尔盲注

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。 0x01 题目描述…

无限题库公众号系统搭建

无限题库公众号系统搭建 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(…

《设计模式:可复用面向对象软件的基础》——行为模式(笔记)

文章目录五、行为模式5.1 CHAIN OF RESPONSIBILITY(职责链)1.意图2.动机3.适用性4.结构5.参与者6.协作7.效果8.实现9.代码示例10.相关模式5.2 COMMAND(命令)1.意图2.别名3.动机4.适用性5.结构6.参与者.7.协作8.效果9.实现10.代码示例11.相关模式5.3 INTE…

CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录

很高兴和大家在这里分享我的最新专栏 Pytorch深度学习理论篇(2023版),恭喜本博客浏览量达到两百万,CSDN内容合伙人,CSDN人工智能领域实力新星~ 0 Pytorch深度学习理论篇实战篇(2023版)大纲 1 Pytorch深度学习理论篇实战篇(2023版)专栏地址&…

嵌入式应用-详解移植并使用freetype显示文字

目录 前言 1. freetype和相关概念简介 2.freetype显示文字流程和主要函数 2.1 包含头文件及API头文件:ft2build.h 2.2 初始化: FT_InitFreetype 2.3 加载(打开)字体Face: FT_New_Face 2.4 设置字体大小&#x…

sqrt函数模拟实现的两种方法

起因:在leetcode刷题时,有一道题目考察了有关sqrt的原理的题目,当时就去查了网上的文章,结果发现,一开始的时候看的很懵,最后也是搞定了两种方法,今天我就以最简单的方式写下这两种方式的思路讲解&#xff…

Python批量获取高校基本信息

文章目录前言一、需求二、分析三、处理四、运行效果前言 为了更好的掌握数据处理的能力,因而开启Python网络爬虫系列小项目文章。 小项目小需求驱动,每篇文章会使用两种以上的方式(Xpath、Bs4、PyQuery、正则等)获取想要的数据。…

T31快启图像效果优化

T31快启图像效果优化 liwen01 20220821 (一)基础方法及概念 参考文档 《Ingenic_Zeratul_T31_快起效果调试说明_20200927_CN》 (1)起始EV参数 IPC 每次启动都是冷启动,画面有一个暗变亮的过程,称作为AE收敛过程(自动曝光收敛过程)。 为了加快AE收…

LeetCode50天刷题计划第二季(Day 23 — 重排链表(16.20- 17.00)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、题目重排链表示例提示二、思路三、代码前言 链表基础题加一 一、题目 重排链表 给定一个单链表 L 的头节点 head ,单链表 L 表示为&#xff…

基于粒子群优化算法的时间调制非线性频偏FDA(Matlab代码实现)

🎉🎉🎉🎉欢迎您的到来😊😊😊 🥬博客主页:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 📝床头铭:将来的我一定会感谢…

ARM64下构建 UEFI 模块

构建Application工程目录 mkdir edk2/ShellPkg/Application/ShellHello 目录内容如下: 编写 ShellHello.c /* edk2/ShellPkg/Application/ShellHello/ShellHello.c*/ #include <Uefi.h> #include <Library/UefiLib.h> #include <Library/DebugLib.h> #i…

上手之Python之异常

什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”, 也就是我们常说的BUG bug单词的诞生 早期计算机采用大量继电器工作&#xff0c;马克二型计算机就是这样的。 1945年9月9日&…