Python文件操作:读写txt/csv/json的终极方案

boyanx2周前技术教程3

在 Python 编程的世界里,文件操作是一项极为基础且关键的技能。无论是读取配置信息、存储处理结果,还是进行数据分析,我们都离不开对各种文件格式的读写操作。今天,就来给大家分享 Python 文件操作中读写 txt、csv、json 这三种常见文件格式的终极方案,希望能帮到正在学习 Python 的小伙伴们!

一、读写 txt 文件

(一)读取 txt 文件

  1. 读取整个文件内容

在 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 字符的文本文件。

  1. 逐行读取文件内容

当文件比较大时,一次性读取整个文件可能会占用过多内存,此时逐行读取是个更好的选择:

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 文件

  1. 覆盖写入

如果要将内容写入一个新的 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'。

  1. 追加写入

要是不想覆盖原有文件内容,而是在文件末尾追加新的内容,那么打开文件的模式应设为'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 文件的常用方法啦,希望这些内容能帮助大家在文件操作的过程中更加得心应手!大家在实际使用过程中有没有遇到过什么有趣的问题或者有更好的实践经验呢?欢迎在评论区留言分享哦!

#Python# #txt# #csv# #json# #编程学习# #数据分析# #办公自动化# #爬虫#

相关文章

不小心删错的文件怎么找回?免费评测5款数据恢复软件

在数字时代,数据就是我们的宝贵资产。然而,误删文件的情况时有发生,可能是不小心点击了删除键,或是在清理磁盘时误操作,一瞬间,重要的文档、珍贵的照片、精彩的视频等就消失不见,让人焦虑万分。别担心,数据恢...

光猫VS路由器VS网关!3分钟理清家庭网络设备的真实角色

【ZOL中关村在线原创技术解析】你注意过家里的光猫、路由器和网关吗?这些闪着灯的设备究竟在做什么?其实我们追剧刷视频、远程办公开会,全靠它们撑着。今天就用最简单的方式,带大家搞懂这些网络“管家”到底怎...

【2025最新】云测平台评测对比,哪个更适合你?

导语:我们都知道在测试移动app时最耗时的是在各种测试设备进行测试。小型团队和公司一般没有太多经费购买各种机型,就可以考虑使用云测试平台进行测试,下面向各位推荐一些国内云测试平台的简单比较,有需要使用...

Windows 下免费开源的多格式文件差异对比工具

软件介绍有这样一款诞生于 2000 年、专为 Windows 系统打造的开源免费工具,截至 2025 年 1 月已更新至 2.16.46 版本,它就是文件与文件夹比较的得力助手。其支持文本文件、Wor...

鸿蒙开发:hvigor插件中的文件操作

前言本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828之前在《hvigor插件实现组件化运行》一文中,我们生成了一个文件,主要用于模块运行包...

3 步搞定选拔会议记录!高效工具实测分享

最近老有人问我,干部选拔动议酝酿会的记录咋整?一场会下来,领导讲话、讨论细节,手动记根本跟不上,还容易漏重点。其实呢,现在有不少录音转文字的工具,能帮大忙。我专门找了几款热门的,重点测了测,看看谁能真...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。