Python文件操作:读写txt/csv/json的终极方案
liuian 2025-06-12 14:10 81 浏览
在 Python 编程的世界里,文件操作是一项极为基础且关键的技能。无论是读取配置信息、存储处理结果,还是进行数据分析,我们都离不开对各种文件格式的读写操作。今天,就来给大家分享 Python 文件操作中读写 txt、csv、json 这三种常见文件格式的终极方案,希望能帮到正在学习 Python 的小伙伴们!
一、读写 txt 文件
(一)读取 txt 文件
- 读取整个文件内容
在 Python 中,使用内置的open函数可以轻松打开一个文件。当我们想要一次性读取整个 txt 文件的内容时,可以这样做:
file_path = 'example.txt'
with open(file_path, 'r', encoding='utf - 8') as file:
content = file.read()
print(content)这里使用了with语句,它就像是一个智能的管家,会在代码块结束时自动帮我们关闭文件,无需手动调用file.close(),从而避免了因忘记关闭文件而可能导致的资源泄漏问题。'r'表示以只读模式打开文件,encoding='utf - 8'则指定了文件的编码格式,这样可以正确处理包含中文等非 ASCII 字符的文本文件。
- 逐行读取文件内容
当文件比较大时,一次性读取整个文件可能会占用过多内存,此时逐行读取是个更好的选择:
file_path = 'example.txt'
with open(file_path, 'r', encoding='utf - 8') as file:
for line in file:
print(line.strip())在这个代码中,file本身就是一个可迭代对象,我们可以直接使用for循环来逐行遍历它。line.strip()用于去除每行末尾的换行符及可能存在的空白字符,使输出结果更加整洁。
(二)写入 txt 文件
- 覆盖写入
如果要将内容写入一个新的 txt 文件,或者覆盖掉原有文件的内容,可以将打开文件的模式设置为'w':
file_path = 'output.txt'
with open(file_path, 'w', encoding='utf - 8') as file:
file.write('Hello, Python!\n')
file.write('This is a guide to file operations in Python.')上述代码会创建一个名为output.txt的文件(如果文件已存在则会被覆盖),并将两行文本写入其中。注意,每次调用file.write()时,内容会直接追加到文件指针当前所在的位置。如果希望每次写入新内容时都换行,可以像示例中那样在字符串末尾加上'\n'。
- 追加写入
要是不想覆盖原有文件内容,而是在文件末尾追加新的内容,那么打开文件的模式应设为'a':
file_path = 'output.txt'
with open(file_path, 'a', encoding='utf - 8') as file:
file.write('\nThis is an appended line.')这样,新的文本就会被追加到output.txt文件的末尾,原有内容得以保留。
二、读写 csv 文件
(一)读取 csv 文件
CSV(Comma - Separated Values)文件是一种常用的表格数据存储格式,以纯文本形式存储数据,数据之间通常用逗号分隔。在 Python 中,我们可以使用内置的csv模块来处理 csv 文件。
import csv
file_path = 'example.csv'
with open(file_path, 'r', encoding='utf - 8') as file:
reader = csv.reader(file)
for row in reader:
print(row)这里通过csv.reader(file)创建了一个reader对象,它可以迭代读取example.csv文件的每一行数据,并将每行数据作为一个列表返回。如果 csv 文件的分隔符不是逗号,比如是分号;,可以通过指定delimiter参数来修改,即csv.reader(file, delimiter=';') 。
(二)写入 csv 文件
写入 csv 文件同样使用csv模块,并且可以通过csv.writer对象来实现。
import csv
file_path = 'output.csv'
data = [
('Name', 'Age'),
('Alice', 25),
('Bob', 30)
]
with open(file_path, 'w', encoding='utf - 8', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)在这段代码中,首先定义了一个包含表格数据的列表data,每个元素也是一个列表,表示表格的一行。然后通过csv.writer(file)创建了一个writer对象,使用writer.writerows(data)方法可以一次性将整个二维列表的数据写入到output.csv文件中。这里的newline=''参数很重要,它可以避免在写入 CSV 文件时出现多余的空行。如果只是想写入一行数据,可以使用writer.writerow(row)方法,其中row是一个表示单行数据的列表 。
三、读写 json 文件
(一)读取 json 文件
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在 Web 开发、数据存储等领域广泛应用。Python 内置的json模块提供了处理 json 文件的功能。
import json
file_path = 'example.json'
with open(file_path, 'r', encoding='utf - 8') as file:
data = json.load(file)
print(data)上述代码通过json.load(file)方法从example.json文件中读取 JSON 数据,并将其解析为对应的 Python 对象(通常是字典或列表)。例如,如果example.json文件内容为{"name": "张三", "age": 20},那么读取后data就是一个字典{'name': '张三', 'age': 20} 。
(二)写入 json 文件
将 Python 对象转换为 JSON 格式并写入文件也很简单。
import json
file_path = 'output.json'
data = {'name': 'John', 'age': 28}
with open(file_path, 'w', encoding='utf - 8') as file:
json.dump(data, file, ensure_ascii=False, indent=4)这里json.dump(data, file, ensure_ascii=False, indent=4)将字典data转换为 JSON 格式并写入output.json文件。ensure_ascii=False参数确保中文字符能正确写入文件而不是被转义为 ASCII 码;indent=4则使生成的 JSON 文件内容更加美观,以 4 个空格的缩进展示层级结构。
以上就是 Python 中读写 txt、csv、json 文件的常用方法啦,希望这些内容能帮助大家在文件操作的过程中更加得心应手!大家在实际使用过程中有没有遇到过什么有趣的问题或者有更好的实践经验呢?欢迎在评论区留言分享哦!
相关推荐
- win10笔记本强制关机(windows10笔记本强制关机)
-
笔记本强制关机方法:1、按笔记本的电源键不松手,即可实现强制关机。2、一般涉及强制关机主要有死机、蓝屏、电脑运行程序无响应。强制关机后,笔记本电脑可能会出现非常卡的情况。这主要是因为在强制关机的过程中...
- 硬盘低级格式化软件哪个好(硬盘低级格式化对硬盘有损伤吗)
-
万能低格工具llftool好万能低格工具llftool是一款强大易用的硬盘低级格式化软件,支持硬盘、移动硬盘、内存卡、u盘等等存储设备的低格功能,过程快速方便,性能安全稳定。另外,...
- 苹果笔记本无线网络连接不上
-
1、可能是连接问题,重开手机热点,重启电脑WIFI,重新连接试试; 2、可能是你电脑无线网络适配器被禁用了。建议你检查一下是否开启了“自动获取IP地址和DNS服务器地址”。具体检查路径:控制面板...
- win7 旗舰版和专业版哪个好(win7旗舰版专业版区别)
-
旗舰版比专业版功能要全,但是这多出的功能一般也用不上。至于是否影响电脑运行速度?同样的电脑配置,系统功能多的和功能少运行速度快,肯定是功能少点速度提升,但感觉上没什么区别。和政府机关内一般是和企业版本...
- 系统门窗一线品牌有哪些(中国系统门窗一线品牌有哪些)
-
轩尼斯门窗轩尼斯门窗创立于2004年,总部植根于佛山,生产基地在广东江苏共有4个,分别在凤岗厂区、盐城厂区、官窑厂区和范湖厂区;轩尼斯门窗在创建伊始就自主研发出了首款断桥铝门窗,产品技术专利超100项...
- 笔记本显卡天梯图排行榜(笔记本显卡天梯图最新版)
-
1、华硕ASUSROG-STRIX-RTX3080-O10G-GAMING1440-1935MHz华硕RTX3080被称为猛禽显卡,它将ROGSTRIX的轴流风扇进一步升级,扇叶数量也进行了...
- 惠普打印机售后维修官网(惠普打印机官方维修点查询)
-
是位于唐河县城区的惠普授权服务中心。这家维修点提供惠普打印机的售后服务和维修,包括故障排查、维修、更换零部件等。他们的技术人员都经过惠普的专业培训,能够提供高质量的服务。如果您的惠普打印机出现了问题,...
- 万能网卡驱动下载win11(万能网卡驱动windows7版2018最新版)
-
在windows11系统中点击桌面下方的开始图标,打开设置页面鼠标点击选择设备管理器选项。找到其中的网络适配器功能。右键选择显卡,点击卸载设备按钮等待卸载完成后重新安装驱动并重启计算机设备即可。想要修...
- cpu总是100使用率怎么回事呢
-
CPU占用率100%可能有多种原因。以下是一些可能的原因:驱动没有经过认证,这可能导致CPU资源占用100%。杀毒软件可能会占用大量的CPU资源,因为它们需要实时监控网页、邮件、个人隐私等功能。病毒或...
- 苹果6怎么升级系统版本(苹果6怎么升级系统版本最高能到多少)
-
要是喜欢自己动手可以自己去官网上下载,新系统在更新,他只是不支持自动更新的。如果不想自己动手,可以去拼多多或者是淘宝里面找一找,多的是那种帮你刷新系统的。也就是一点点钱的事情。现在选择很多活人不会被尿...
- windows2003镜像32位下载(win2003系统镜像)
-
虚拟光驱装系统,(win7,xp通用)具体步骤一、将从网上下载的win7旗舰版ISO系统文件存放到D盘。二、从网上下载虚拟光驱,打开安装后在任务栏右通知区显示“虚拟DAEMON管理器”图标,在我的电脑...
- win10电脑自动更新怎么关闭(win10电脑怎么关闭自动更新系统)
-
win10老推送win11打开的方法步骤如下,1,首先,打开设置,点击更新和安全2,打开后,点击windows预览体验计划3,打开后,点击开始4,然后按流程进行注册5,注册完成后,点击选择帐户6,然后...
- 一周热门
-
-
飞牛OS入门安装遇到问题,如何解决?
-
如何在 iPhone 和 Android 上恢复已删除的抖音消息
-
Boost高性能并发无锁队列指南:boost::lockfree::queue
-
大模型手册: 保姆级用CherryStudio知识库
-
用什么工具在Win中查看8G大的log文件?
-
如何在 Windows 10 或 11 上通过命令行安装 Node.js 和 NPM
-
威联通NAS安装阿里云盘WebDAV服务并添加到Infuse
-
Trae IDE 如何与 GitHub 无缝对接?
-
idea插件之maven search(工欲善其事,必先利其器)
-
如何修改图片拍摄日期?快速修改图片拍摄日期的6种方法
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
