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日

相关文章

  • 10种检测Python程序运行时间、CPU和内存占用的方法

    10种检测Python程序运行时间、CPU和内存占用的方法 在Python开发中,我们常常需要检测程序的运行时间、CPU和内存占用情况。这些信息对于代码优化和调试都非常有帮助。本篇文章就为大家介绍10种检测Python程序运行时间、CPU和内存占用的方法。 方法一:使用timeit 在Python中,timeit模块可以帮助我们计算代码片段的运行时间。其基本…

    C 2023年5月22日
    00
  • R语言的一个加法函数使用介绍

    当使用R语言进行数据分析和可视化时,经常需要编写一些自定义函数来增强数据操作的效率和可重复性。这里我为大家介绍一个R语言的加法函数,帮助大家了解如何自定义函数并灵活运用。 函数定义 首先定义一个简单的加法函数,用于计算两个数的和。 add <- function(x, y) { return(x + y) } 这里使用了R语言的函数声明语法,将函数名设…

    C 2023年5月22日
    00
  • 如何使用C语言将数字、字符等数据写入、输出到文本文件中

    下面是如何使用C语言将数字、字符等数据写入、输出到文本文件中的攻略。 打开文件 在C语言中,我们通常使用标准库函数fopen()来打开文件。 可以使用下列代码来打开一个名为file.txt的文件。 FILE *fp = fopen("file.txt", "w"); 其中,第一个参数是文件路径,第二个参数是表示要在文件…

    C 2023年5月23日
    00
  • C++如何去除cpp文件的注释详解

    当我们在编写C++代码时,有时候会添加一些注释来方便代码的阅读和理解,但是在实际编译的时候,注释是没有用处的,只会占用编译时间和程序空间。因此需要去除cpp文件中的注释。下面提供两种方法。 方法一:正则表达式 正则表达式是一种高效的文本搜索和处理工具。可以通过正则表达式匹配出注释,并将其删除。 使用文本编辑器,打开需要去除注释的cpp文件。 使用文本编辑器的…

    C 2023年5月23日
    00
  • C语言 按值函数调用

    C语言 按值函数调用 在 C 语言中,函数可以按值调用(也称为传值调用)或按引用调用(也称为传引用调用)。 按值调用函数时,函数会使用参数的值进行计算,并在函数中对其进行修改不会影响原始值。 下面是一个按值调用的例子: #include <stdio.h> // 定义一个函数,输入两个整数并返回它们的和 int add(int a, int b)…

    C 2023年5月9日
    00
  • C语言 完整游戏项目坦克大战详细代码

    首先,这篇文章介绍了一个完整游戏项目坦克大战的详细代码。坦克大战是一个经典的双人游戏,玩家可以控制自己的坦克通过射击、躲避敌方坦克、摧毁敌方基地等方式获得胜利。本文详细地介绍了该游戏的 C 语言代码实现过程,包括游戏界面的设计、坦克、子弹、道具的实现、敌方 AI 的设计以及游戏结束的处理等内容。 在这篇文章中,代码示例是非常重要的,它能够直观地展示程序的实现…

    C 2023年5月24日
    00
  • C语言中bool变量的深入理解

    下面我来详细讲解“C语言中bool变量的深入理解”: 什么是bool变量? bool变量(布尔变量)是C语言中的一种数据类型,它的取值只有两个:true或false,用于存储逻辑值。 bool变量的定义和声明 在C语言中,使用标准库头文件stdbool.h来定义和声明bool变量。在使用布尔变量之前,必须先声明它们。例如: #include <stdb…

    C 2023年5月23日
    00
  • VC6.0如何创建以及调用动态链接库实例详解

    本篇攻略将详细讲解如何使用VC6.0创建和调用动态链接库实例。动态链接库常用于将一些公共的函数库分离出来,供不同的程序共享,节省程序的内存空间和提高代码的重复利用程度。 1. 创建动态链接库 在VC6.0中,创建动态链接库需要以下步骤: 1.1 新建Win32控制台应用程序 打开VC6.0,选择菜单中的 “文件” -> “新建” -> “项目”,…

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