Python常见读写文件操作实例总结【文本、json、csv、pdf等】

Python常见读写文件操作实例总结

本文将介绍在Python中针对常见文件类型的读写操作,包括文本、JSON、CSV以及PDF等格式。

文本文件读写

读取文本文件

读取文本文件很简单,可以使用Python内置的open()函数来打开文件,然后读取文件的内容。open()函数接收两个参数,第一个参数是要读取的文件的路径,第二个参数是打开文件的模式,我们这里使用默认的文本模式。

with open('file.txt') as f:
    contents = f.read()
    print(contents)

如果要逐行读取文本文件,可以使用readlines()方法:

with open('file.txt') as f:
    lines = f.readlines()
    for line in lines:
        print(line.rstrip())

写入文本文件

要将内容写入文本文件,需要使用文件对象的write()方法。注意,在写入文件之前需要开启写入模式,使用w模式。如果文件已经存在,写入模式会覆盖原有的文件内容,如果文件不存在,则会自动创建一个新的文件。

with open('file.txt', 'w') as f:
    f.write('Hello, world!')

JSON文件读写

JSON是一种轻量级的数据交换格式,在Python中,可以使用内置的json模块来对JSON数据进行解码和编码。

读取JSON文件

使用json.load()函数从JSON文件中读取内容,该函数将返回一个Python字典对象,其中包含了JSON文件中的数据。

import json

with open('data.json') as f:
    data = json.load(f)
    print(data)

写入JSON文件

使用json.dump()函数将Python字典对象转化为JSON格式并写入文件。该函数接收两个参数,第一个参数是要写入JSON文件的内容,第二个参数是表示要将JSON数据写入到哪个文件中。

import json

data = {
    'name': 'Alice',
    'age': 25,
    'city': 'Beijing'
}

with open('data.json', 'w') as f:
    json.dump(data, f)

CSV文件读写

CSV是一种常见的存储数据的文件格式,使用Python内置的csv模块可以方便地处理CSV文件。

读取CSV文件

使用csv.reader()函数从CSV文件中读取内容,该函数将返回一个读取器对象,可以通过迭代器的方式逐行读取CSV文件中的数据。

import csv

with open('data.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

写入CSV文件

使用csv.writer()函数将Python列表或元组对象转化为CSV格式并写入文件。该函数接收一个参数,表示要将数据写入到哪个文件中。

import csv

data = [
    ['name', 'age', 'city'],
    ['Alice', 25, 'Beijing'],
    ['Bob', 30, 'Shanghai'],
    ['Charlie', 35, 'Guangzhou']
]

with open('data.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    for row in data:
        writer.writerow(row)

PDF文件读写

PDF是一种常见而复杂的文件格式,Python内置的函数并没有直接处理PDF的方法。可以使用第三方库PyPDF2来读取和操作PDF文件。

读取PDF文件

使用PyPDF2.PdfFileReader()函数打开PDF文件并读取内容,该函数将返回一个PyPDF2.PdfFileReader对象,可以使用该对象的方法获取PDF中的信息。

import PyPDF2

with open('data.pdf', 'rb') as f:
    reader = PyPDF2.PdfFileReader(f)
    num_pages = reader.getNumPages()
    for i in range(num_pages):
        page = reader.getPage(i)
        page_content = page.extractText()
        print(page_content)

写入PDF文件

使用PyPDF2.PdfFileWriter()函数创建一个新的PDF文件,并使用该对象的方法向文件中写入内容。该函数不接受任何参数,直接调用即可。

import PyPDF2

writer = PyPDF2.PdfFileWriter()

# 向第一页写入内容
page = PyPDF2.PageObject.createBlankPage(None, 612, 792)
page.mergePage(reader.getPage(0))
text = PyPDF2.pdf.TextStringObject("Hello, world!")
page.mergeTextObject(text, 100, 100)
writer.addPage(page)

# 向第二页写入内容
page = PyPDF2.PageObject.createBlankPage(None, 612, 792)
text = PyPDF2.pdf.TextStringObject("This is a PDF file written by Python.")
page.mergeTextObject(text, 100, 100)
writer.addPage(page)

# 将PDF文件写入磁盘
with open('data.pdf', 'wb') as f:
    writer.write(f)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python常见读写文件操作实例总结【文本、json、csv、pdf等】 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言socket编程开发应用示例

    下面是关于C语言Socket编程开发应用示例的完整攻略: 什么是Socket编程? Socket是计算机网络通信中的一种方式,它定义了两个网络应用程序之间的通信规则。Socket编程是指利用Socket进行网络编程,实现网络通信的一种技术。 Socket编程的基础知识 Socket编程主要有两个重要的函数:socket()和bind()。其中,socket(…

    C 2023年5月22日
    00
  • C++实现三子棋游戏详细介绍(附代码)

    C++实现三子棋游戏详细介绍(附代码) 简介 本文将介绍如何使用C++语言来实现一个简单的三子棋游戏。三子棋游戏是一种经典的小游戏,规则简单玩法有趣。在这个游戏中,两个玩家将轮流在一个3×3的棋盘上放置自己的棋子,若某个玩家在横、竖、斜三个方向上连续地放置了三个自己的棋子,则该玩家获胜。本文的实现将包括游戏引擎和用户界面,读者可以直接运行实现好的程序进行游戏…

    C 2023年5月24日
    00
  • C语言中函数栈帧的创建和销毁的深层分析

    C语言中函数栈帧的创建和销毁的深层分析 什么是函数栈帧 在C语言中,每当一个函数被调用时,系统会在当前线程的栈上为该函数创建一个栈帧(Stack Frame),用于保存该函数调用时的现场信息(如首地址、传递参数、局部变量等信息)。函数栈帧的创建和销毁是函数调用的必要过程,也是C语言程序的基本运行机制之一。 函数栈帧的创建过程 函数栈帧的创建过程分为以下几个步…

    C 2023年5月23日
    00
  • vc控制台程序关闭事件时的处理方式及注意点详解

    VC控制台程序关闭事件时的处理方式及注意点详解 背景 在开发 VC 控制台程序时,我们需要考虑程序关闭事件的处理方式及注意事项。在程序关闭时,需要完成一些清理工作,避免导致内存泄漏等问题。本文将详细讲解 VC 控制台程序关闭事件的处理方式及注意点。 程序关闭事件 VC 控制台程序关闭事件主要包括以下几种: 用户手动关闭程序 系统发生错误导致的程序退出 外部信…

    C 2023年5月30日
    00
  • 全民小镇2014万圣节活动介绍 全民小镇万圣节特殊海域和兑换券一览

    全民小镇2014万圣节活动介绍 活动时间 2014年10月25日-11月2日 活动内容 全民小镇万圣节活动分为两部分:特殊海域和兑换券。 特殊海域 特殊海域是活动期间新增的一些地图。在这些地图中,您将会遇到一些特殊的怪物和道具,同时还有不同于平常的地图场景,非常适合体验万圣节气氛。 兑换券 兑换券是您在活动中可以获得的奖励之一。在特定的NPC处,您可以用兑换…

    C 2023年5月22日
    00
  • Win7系统打开软件提示错误代码0xc0000022是什么原因?怎么解决?

    Win7系统打开软件提示错误代码0xc0000022的原因 当Windows 7系统出现错误代码0xc0000022时,表示发生了访问认证错误,无法打开指定的软件。这个错误有多种原因,其中两个最常见的原因是权限问题和受损的软件。 权限问题 如果您不具有打开某个软件的访问权限,则会触发此错误。当您在不具有管理员权限的用户账户下尝试打开受保护的应用程序或系统应用…

    C 2023年5月23日
    00
  • C语言快速实现扫雷小游戏

    C语言快速实现扫雷小游戏攻略 介绍 扫雷是一款经典的小游戏,以其简单的规则和极高的可玩性深受玩家喜爱。在此,将介绍如何使用C语言快速实现扫雷小游戏。 实现思路 扫雷游戏的主要逻辑是实现格子的打开、插旗和计算数字等操作。因此需要设计一个二维数组来表示游戏界面,并将每个格子分成以下几种类型: 雷格:表示该格子下面是一颗地雷; 数字格:表示该格子周围有多少颗地雷;…

    C 2023年5月23日
    00
  • 对C语言中递归算法的深入解析

    对C语言中递归算法的深入解析 什么是递归算法 递归算法是指函数自身调用自身的算法。递归优雅而简洁,但一定要写得正确,否则会造成很多问题。 递归算法的基本原理 递归函数包含两个部分: 基本情况,也称为递归终止条件。它告诉函数何时停止递归。 递推部分,也称为递归体。它包含所有的递归逻辑,将问题逐步分解直至达到基本情况。 递归算法示例说明 示例一:斐波那契数列 i…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部