用Python来创建7种不同的文件格式
- 一、用Python来创建7种不同的文件格式
- 1.1、文本文件
- 1.2、CSV文件
- 1.3、Excel文件
- 1.4、压缩文件
- 1.5、XML文件
- 1.6、JSON文件
- 1.7、PDF文件
一、用Python来创建7种不同的文件格式
1.1、文本文件
- 写入
file_name = "my_text_file.txt"
# 将内容写入至文件中
texts = "Hi, How do you doing?"
# 打开文件,编辑模式
with open(file_name, "w") as file:
file.write(texts)
# 打印创建文本文件成功的信息
print(f"{file_name} 创建成功!")
#结果
my_text_file.txt 创建成功!
- 读取
# 用Python读取文本文件
# 文件的名称
file_name = "my_text_file.txt"
# 打开文件,读取当中的内容
with open(file_name, "r") as file:
texts = file.read()
# 打印文本文件中的内容
print(texts)
#结果
Hi, How do you doing?
1.2、CSV文件
- 写入
import csv
# CSV文件的名称
file_name = "my_csv_file.csv"
# 写入的内容
content = [
["Number", "Name", "Company"],
[1, "Elon Musk", "Tesla"],
[2, "Bill Gates", "Microsoft"],
[3, "Jeff Bezos", "Amazon"],
[4, "Steve Jobs", "Apple"]
]
# 打开文件并且开启编辑的模式
with open(file_name, "w",newline='') as file:
# 创建编辑的工具
writer = csv.writer(file)
writer.writerows(content)
# 打印出文件创建成功的消息
print(f"{file_name} 创建成功!")
#结果
my_csv_file.csv 创建成功!
- 读取
import pandas as pd
data=pd.read_csv(r'./my_csv_file.csv')
data
1.3、Excel文件
- 写入
# 导入模块
from openpyxl import Workbook
# Excel文件的文件名
file_name = "my_excel_file.xlsx"
# 创建文件的工具
workbook = Workbook()
sheet_1 = workbook.active
# 单个元素写入
sheet_1["A1"] = "S. no"
sheet_1["B1"] = "Name"
sheet_1["C1"] = "Company"
# 第二条记录
sheet_1["A2"] = "1"
sheet_1["B2"] = "Elon Musk"
sheet_1["C2"] = "Tesla"
# 第三条记录
sheet_1["A3"] = "2"
sheet_1["B3"] = "Bill Gates"
sheet_1["C3"] = "Microsoft"
# 第四条记录
sheet_1["A4"] = "3"
sheet_1["B4"] = "Jeff Bezos"
sheet_1["C4"] = "Amazon"
# 保存文件
workbook.save(file_name)
# 一系列的数据内容
file_name = "my_excel_file1.xlsx"
# 创建文件的工具
workbook = Workbook()
sheet_1 = workbook.active
records = [
["Number", "Name", "Company"],
[1, "Elon Musk", "Tesla"],
[2, "Bill Gates", "Microsoft"],
[3, "Jeff Bezos", "Amazon"]
]
# append()方法填充内容
for record in records:
sheet_1.append(record)
# 保存文件
workbook.save(file_name)
- 读取
# 导入模块
import openpyxl
# 文件名的名称
file_name = "my_excel_file.xlsx"
# 加载Excel文件
workbook = openpyxl.load_workbook(file_name)
sheet_1 = workbook.active
# 开始读取的行的位置
min_row = sheet_1.min_row
# 读取行的位置读取到哪儿
max_row = sheet_1.max_row
# 开始读取单元格的位置
min_col = sheet_1.min_column
# 单元格读取的最终的位置
max_col = sheet_1.max_column
for record in sheet_1.iter_rows(min_row, max_row, min_col, max_col):
for cell in record:
print(cell.value, end=" ")
print()
1.4、压缩文件
- 写入
# 导入模块
import tarfile
# 打开压缩文件,编辑模式
with tarfile.open("my_tar_file.tar", "w") as file:
# 添加txt文本文件,并且指定文件的名称
file.add("my_excel_file.xlsx") #必须是已经存在的文件,否则会报错“FileNotFoundError: [WinError 2] 系统找不到指定的文件。”
file.add("my_excel_file1.xlsx")
# 打印创建成功的消息
print("压缩包创建成功!")
#结果
压缩包创建成功!
- 读取
# 导入模块
import tarfile
# 解压缩文件的名称
filename = "my_tar_file.tar"
# 查看文件是否是压缩文件的格式
if tarfile.is_tarfile(filename):
# 打开文件
with tarfile.open(filename, "r") as file:
# 解压缩全部的文件
file.extractall()
# 打印解压缩成功的消息
print(f"{filename} 解压缩成功!")
#结果
my_tar_file.tar 解压缩成功!
- 那么要是我们想要打印出来解压缩文件当中的文件名,代码也非常的简单,如下所示
# 导入模块
import tarfile
# 解压缩包的名称
filename = "my_tar_file.tar"
# 检查文件是否是压缩包的格式
if tarfile.is_tarfile(filename):
# 打开文件
with tarfile.open(filename, "r") as file:
# 解压缩文件当中的文件名称
files = file.getnames()
# 遍历循环文件名
for file in files:
print(file)
#结果
my_excel_file.xlsx
my_excel_file1.xlsx
- 从压缩包中,解压缩出指定的文本文件,代码如下
# 导入模块
import tarfile
# 解压缩包的名称
filename = "my_tar_file.tar"
# 检查文件是否是压缩包的格式
if tarfile.is_tarfile(filename):
# 打开文件
with tarfile.open(filename, "r") as file:
# 获取解压缩包中文件的名称
files = file.getnames()
# 输入你想要解压缩的文件名
fname_to_extract = "my_excel_file.xlsx"
# 检查文本文件是否存在
if fname_to_extract in files:
# 解压缩指定的文件出来
file.extract(fname_to_extract)
# 打印成功
print("File extracted successfully")
#结果
File extracted successfully
1.5、XML文件
- 写入
- 在Python当中创建XML文件就需要用到xml模块,我们这里定义一个函数来创建XML文件,代码如下
# 导入模块
import xml.etree.ElementTree as xml
# 函数方法来创建XML文件
def create_XML_file(filename):
# Root element -> Mobile_shop
root = xml.Element("Mobile_shop")
# Root element -> mobile_names
mobile = xml.Element("mobile_names")
root.append(mobile)
# Sub Elements -> mobile names
mobile_1 = xml.SubElement(mobile, "mobile_1")
mobile_1.text = "Vivo"
mobile_2 = xml.SubElement(mobile, "mobile_2")
mobile_2.text = "Oppo"
mobile_3 = xml.SubElement(mobile, "mobile_3")
mobile_3.text = "Realme"
mobile_4 = xml.SubElement(mobile, "mobile_4")
mobile_4.text = "Google Pixel"
mobile_5 = xml.SubElement(mobile, "mobile_5")
mobile_5.text = "IPhone"
mobile_6 = xml.SubElement(mobile, "mobile_6")
mobile_6.text = "Sony"
tree = xml.ElementTree(root)
# 将内容写入至XML文件中
with open(filename, "wb") as file:
tree.write(file)
# 打印创建成功的信息
print("创建成功!")
# 调用上述定义的函数
create_XML_file("my_xml_file.xml")
#结果
"""
<Mobile_shop><mobile_names><mobile_1>Vivo</mobile_1><mobile_2>Oppo</mobile_2><mobile_3>Realme</mobile_3><mobile_4>Google Pixel</mobile_4><mobile_5>Iphone</mobile_5><mobile_6>Sony</mobile_6></mobile_names></Mobile_shop>
"""
1.6、JSON文件
- 写入
- 创建JSON文件的模块在Python当中也叫json,那么往JSON文件中写入内容这里需要用到dump()方法,代码如下
# 导入模块
import json
# 键值对来写入至JSON文件中
data = {
"name": "junxin",
"profession": "Blogging",
"programming_language": "Python",
}
# 创建文件,并且以编辑的模式打开
with open("my_json_file.json", "w") as file:
# 这里调用到dump()方法来写入内容
json.dump(data, file)
# 打印创建成功的信息
print("创建成功!")
- 读取
- 而当我们想要来查看JSON文件当中的内容,这里就需要调用load()方法,代码如下
# 导入模块
import json
# 打开文件
with open("my_json_file.json", "r") as file:
# 调用load()方法
content = json.load(file)
# 打印内容
print(content)
#结果
{'name': 'Gowtham', 'profession': 'Blogging', 'programming_lang_known': 'Python'}
1.7、PDF文件
- 写入
# 导入模块
import fpdf
# 创建实例
pdf = fpdf.FPDF()
# 添加一页内容
pdf.add_page()
# 设置字体的格式
pdf.set_font("arial")
# 设置字体的大小
pdf.set_font_size(18)
# 写入内容
pdf.cell(w=0, txt="Hello World!!", ln=0)
# 保存内容
pdf.output("my_pdf.pdf")
参考:https://blog.csdn.net/m0_59596937/article/details/128348430