Python 实现txt、excel、csv文件读写【附源码】

news/2024/11/15 8:32:41/

目录

前言

一、txt文件读写

二、excel文件读写

总结


前言

本文介绍使用Python进行文件读写操作,包括txt文件、excel文件(xlsx、xls、csv)

编译器使用的是PyCharm


一、txt文件读写

  • read()                 # 一次性读取全部内容
  • readline()           # 读取第一行内容
  • readlines()         # 读取文本全部内容,并以数列的格式返回
  • write()                # 写入文件内容

txt文件读写规则

  • r:读取文件,若文件不存在则会报错
  • w:写入文件,若文件不存在则会先创建再写入,会覆盖原文件
  • a:写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
  • rb,wb:分别与r,w类似,但是用于读写二进制文件
  • r+:可读、可写,文件不存在也会报错,写操作时会覆盖
  • w+:可读,可写,文件不存在先创建,会覆盖
  • a+:可读、可写,文件不存在先创建,不会覆盖,追加在末尾 
def readTxt(str):with open(str, "r", encoding="utf-8") as f:# data = f.read() # 一次性读取全部内容# data = f.readline() # 读取第一行内容# data = f.readlines() # 读取文本全部内容,并以数列的格式返回# print(data)for line in f.readlines():line = line.strip('\n') # 去掉readlines里的换行符'\n'print(line)def writeTxt(str):with open(str, "w", encoding="utf-8") as f:f.write("这是个测试!") # 自带文件关闭功能,不需要再写f.close()if __name__ == '__main__':str = "test.txt"# readTxt(str) # 读txt文件writeTxt(str) # 写txt文件

二、excel文件读写

  • 读excel文件需要安装xlrd模块,高版本xlrd模块不支持xlsx文件读取,可指定下载低版本,或者将xlsx文件保存为xls文件
  • 写excel文件需要安装xlsxwriter模块
  • 简单说明在注释前加TODO:表示待做任务,一般标明任务人、任务时间、任务人联系方式等信息。可以在PyCharm编辑器下统一查看

excel文件读取

  • xx = xlrd.open_workbook(r"test.xls"):打开excel文件
  • xs = xx.sheet_by_name('Sheet1'):单个读取名为Sheet1的表
  • xs = xx['Sheet1']:等同于xx.sheet_by_name('Sheet1')
  • xss = xx.sheet_names(): 读excel文件中全部表

excel文件写入

  • workbook = xlsxwriter.Workbook(‘test.xlsx’):新建名为test的excel文件
  • worksheet = workbook.add_worksheet(‘sheet’):新建名为sheet的表
  • worksheet.write(‘A1’,‘100’):在A1写入100,只能单个写入
  • worksheet.write_row(‘A1’,a):按行逐一写入列表a,多个写入
  • worksheet.write_column(‘A1’,b):按行逐一写入列表b,多个写入
  • wrokbook.close():关闭并保存文件
import xlrd #TODO 导入xlrd库,使用xlrd中open_workbook和sheet_by_name方法
import xlsxwriter #TODO 导入xlsxwriter库,使用xlsxwriter中Workbook和add_worksheet方法def readExcel():# TODO 定义一个列表A待会储存读取的信息A = []xx = xlrd.open_workbook(r"test.xls")  # 高版本xlrd不支持xlsx,支持xls# xs = xx.sheet_by_name('Sheet1')# xs = xx['Sheet1']  # 读单个sheetxss = xx.sheet_names()  # 读全部sheetfor names in range(len(xss)):name = xx[xss[names]]if xss[names] == 'Sheet1' or xss[names] == 'sheet1':  # sheet子表名称兼容print(name)xs = namefor i in range(0, 6):k = xs.row_values(i)  # row_values():行值print(k)A.append(k)print(list(A))# print(xs.row_values(0)) # row_values():行值# N = xs.col_values(1) # col_values():列值# print(N)# # 这里我们查看一下G的格式是列表还是元组,或者其他的# print(type(N))def writeExcel():# datas = (#     ['rent', 1000],#     ['gas', 120],#     ['food', 300],#     ['gym', 50],#     ['app', 600],#     ['lemon', 5000]# )# workbook = xlsxwriter.Workbook('excel01.xlsx') # csv、xls、xlsx格式都可 对文件操作# worksheet = workbook.add_worksheet() # 对文件中的sheet操作# row, col = 0, 0# for item, cost in datas:#     worksheet.write(row, col, item)#     worksheet.write(row, col+1, cost)#     row += 1# worksheet.write(row, 0, 'total')# worksheet.write(row, 1, '=sum(B1:B6)')# workbook.close()head = ['姓名', '分数']name = ['张三', '李四', '王五', '老六']mark = [66, 77, 88, 99]workbook = xlsxwriter.Workbook('chengji.xlsx')worksheet = workbook.add_worksheet('chengji')  # 可写指定sheet名worksheet.write_row('A1', head)  # write_row():行操作 多个写入worksheet.write_column('A2', name)  # write_column():列操作 多个写入worksheet.write_column('B2', mark)worksheet.write('A6', 'total')  # 单个写入worksheet.write('B6', '=sum(B2:B5)')workbook.close()if __name__ == '__main__':print("Hello PyCharm!")readExcel()  # 读excel# writeExcel()  # 写excel


总结

本文实现了Python的文件读写操作,包括txt文件、xlsx、xls、csv等文件。其次还标明了文件读写中的方法。这在实际应用中经常会遇到,觉得有用的记得关注收藏点赞鼓励哈!!!


http://www.ppmy.cn/news/52818.html

相关文章

RUST 每日一省:生命周期作用域

生命周期 一个变量的生命周期就是它从创建到销毁的整个过程。 作用域 我们声明的每个变量都有作用域。作用域其实是变量和值存在的环境。作用域是由一对花括号表示的。例如,使用块表达式会创建一个作用域,即任何以花括号开头和结尾的表达式。此…

如何在模拟器里面脱360的壳

1.准备环境 1.夜神模拟器 2.pyhton3.8 3.frida的版本 16.0.17 4.frida-dexdump 2.设置adb连接 我们打开夜神模拟器所在的文件夹,里面有自带的adb,我们在这个文件夹里面打开cmd。在里面链接上夜神模拟器。 adb devices 我这边显示链接成功了。 3.…

大学生蓝桥杯

蓝桥杯 简介比赛科目 简介 全国普通高校学科竞赛排行榜,是由中国高等教育学会“高校竞赛评估与管理体系研究”专家工作组研究发布的竞赛评估体系,已经连续六年发布,是高校提高人才培养质量的服务性参考信息,是检验高校创新人才培…

【C语言】函数讲解(下)

【C语言】函数讲解(下) 1.函数的声明和定义1.1函数声明1.2函数定义 2.函数的嵌套调用和链式访问2.1嵌套调用2.2链式访问 3.函数递归3.1什么是递归3.2递归的两个必要条件3.2.1练习13.2.2练习2 3.3递归与迭代3.3.1练习13.3.2练习2 所属专栏:C语…

Android内存泄漏问题排查分析及常见解决方案

什么是内存泄漏: 在Android开发过程中,当一个对象已经不需要再使用了,本该被回收时,而另个正在使用的对象持有它引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就…

【SCI征稿】计算机科学类SCI, 领域广,2-3个月录用~

一、期刊简介: 4区计算机科学类SCI 【期刊概况】IF:0.5-1.0, JCR4区, 中科院4区; 【终审周期】走期刊部系统,2-3个月左右录用; 【检索情况】SCI在检; 【数据库收录年份】2007年; 【国人占比】12.35%…

c++算法——vector

vector vector 是标准模板库的一个容器,直接翻译为“向量”,一般来成“可变长数组”,也即“长度会根据需要而变化的数组”。在竞赛中有些题目需要很大的很大的数组,而有些还用不上就需要用到 vector 。 使用 vector 首先要加#incl…

Binder与 四大组件工作原理 Service、BroadCastReceiver、ContentProvider

Service 工作原理 Service有两套流程,一套是启动流程,另一套是绑定流程。我们做App开发的同学都应该知道 1)在新进程启动Service 我们先看Service启动过程,假设要启动的Service是在一个新的进程中,分为5个阶段&#…