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

liftword15小时前技术文章6

在 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# #编程学习# #数据分析# #办公自动化# #爬虫#

相关文章

Python一键打包为windows的exe文件,无需安装python环境即可执行

一、为什么要将Python打包为 exe?在实际应用中,我们希望Python程序能在没有安装Python环境的电脑上直接运行。将Python代码打包为exe可执行文件,不仅能解决环境依赖问题,还便于程...

Python文件读写操作详解:从基础到实战

Python 文件的读写操作在 Python 中,文件操作非常常见,可以通过内建的 open() 函数进行文件的读取、写入、创建等操作。理解文件操作的模式和 with 语句对于确保代码的简洁性和效率至...

一文讲清Python在Linux系统CPU、内存和磁盘管理方面的应用实例

摘要:在当今快速发展的IT运维和开发世界里,Linux系统凭借其高效能、高稳定性和开源的特性,在服务器管理、云计算服务以及大数据处理等众多领域中占据了核心位置。随着业务规模扩大,系统资源的监控与管理变...

Python文件操作

文件编码编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。计算机中有许多可用编码:UTF-8、GBK、Big5等。不同的编码,将内容翻译成二进制也是不同的。编码有...

将python源代码封装成window可执行程序教程

将python源代码封装成window可执行程序教程点击键盘win+r打开运行框在运行框中输入cmd,进入到命令行。在命令行中输入pip list 去查看当前电脑中所有的库检查是否有pyinstall...