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技术站