【Python】用Python来创建7种不同的文件格式

今天的这篇文章呢,小编来介绍一下如何通过Python来创建各种形式的文件,这里包括了

  • 文本文件

  • CSV文件

  • Excel文件

  • 压缩文件

  • XML文件

  • JSON文件

  • PDF文件

创建文本文件

文本文件本质上是以.txt后缀结尾的文件,在Python当中创建文本文件是非常的容易和简单的,代码如下

# 通过Python来创建文本文件

# 选择文件的名称
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} 创建成功!")

当然了要是我们想要来读取该文件当中的内容,代码也非常的简单,如下所示

# 用Python读取文本文件

# 文件的名称
file_name = "my_text_file.txt"

# 打开文件,读取当中的内容
with open(file_name, "r") as file:
 texts = file.read()

# 打印文本文件中的内容
print(texts)

创建CSV文件

CSV文件在我们的日常生活学习当中也是非常常用的,要想创建CSV文件,这里就需要用到Python当中的CSV模块,代码也是十分的简单,如下所示

import csv

# 文件的名称
file_name = "my_csv_file.csv"

# 打开文件,并且是编辑的模式
with open(file_name, "w") as file:
 writer = csv.writer(file)
    # 编辑内容
 writer.writerow(["Number", "Name", "Company"])
 writer.writerow([1, "Elon Musk", "Tesla"])
 writer.writerow([2, "Bill Gates", "Microsoft"])
 writer.writerow([3, "Jeff Bezos", "Amazon"])
 writer.writerow([4, "Steve Jobs", "Apple"])

# 打印编辑成功的消息
print(f"{file_name} 创建成功!")

当然了我们这里还可以调用writerows()方法,代码如下

# 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") as file:
 # 创建编辑的工具
    writer = csv.writer(file)
    writer.writerows(content)

# 打印出文件创建成功的消息
print(f"{file_name} 创建成功!")

我们来看一下文件当中的内容,如下所示

a23094deedd6abaab7d402411d3062d4.png

那么当我们想要来读取该CSV文件的时候,就需要下面的这个代码,如下所示

# CSV文件的名称
file_name = "my_csv_file.csv"

# 打开文件,读取文件的模式
with open(file_name, "r") as file:
    # 创建读取文件的工具
    reader = csv.reader(file)
    for record in reader:
        print(record)

output

['Number', 'Name', 'Company']
['1', 'Elon Musk', 'Tesla']
['2', 'Bill Gates', 'Microsoft']
['3', 'Jeff Bezos', 'Amazon']
['4', 'Steve Jobs', 'Apple']

创建Excel文件

这里我们需要用到openpyxl模块,要是你还没有下载该模块,这里就需要用到pip命令来实现模块的安装了,如下

pip install openpyxl

创建Excel文件的方式也特别简单,代码如下

# 导入模块
from openpyxl import Workbook

# Excel文件的文件名
file_name = "my_excel_file.xlsx"

# 创建文件的工具
workbook = Workbook()
sheet_1 = workbook.active

编辑Excel文件的方式有三种,我们这里一一来介绍一下,第一种是在指定的单元格当中放入需要填充的内容,代码如下

# 通过指定单元格的位置来填充内容
# 第一条记录
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)

方法二的话和方法一是十分相类似的,代码如下

# 通过指定单元格的位置来填充内容
# 第一条记录
sheet_1.cell(row=1, column=1).value = "Number"
sheet_1.cell(row=1, column=1).value = "Name"
sheet_1.cell(row=1, column=1).value = "Company"

# 第二条记录
sheet_1.cell(row=1, column=1).value = "1"
sheet_1.cell(row=1, column=1).value = "Elon Musk"
sheet_1.cell(row=1, column=1).value = "Tesla"

# 第三条记录
sheet_1.cell(row=1, column=1).value = "2"
sheet_1.cell(row=1, column=1).value = "Bill Gates"
sheet_1.cell(row=1, column=1).value = "Microsoft"

# 第四条记录
sheet_1.cell(row=1, column=1).value = "3"
sheet_1.cell(row=1, column=1).value = "Jeff Bezos"
sheet_1.cell(row=1, column=1).value = "Amazon"

# 保存文件
workbook.save(file_name)

方法三,通过调用append()方法来实现往Excel文件当中填充内容,代码如下

# 一系列的数据内容
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)

我们来看一下文件当中的内容,如下所示

7641cd65e445a0187da581ab01c48516.png

而要是我们来读取一下文件当中的内容,代码如下,这里需要用到iter_rows()

# 导入模块
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()

output

Number Name Company 
1 Elon Musk Tesla 
2 Bill Gates Microsoft 
3 Jeff Bezos Amazon

创建压缩文件

Python当中来创建压缩文件是非常简单的,这里需要用到tarfile模块,代码如下

# 导入模块
import tarfile

# 打开压缩文件,编辑模式
with tarfile.open("my_tar_file.tar", "w") as file:
    # 添加txt文本文件,并且指定文件的名称
    file.add("text_file_1.txt")
    file.add("text_file_2.txt")

# 打印创建成功的消息
print("压缩包创建成功!")

要是我们想要解压缩 压缩包当中的文件,这里就可以用到extractall()方法,代码如下

# 导入模块
import tarfile

# 解压缩文件的名称
filename = "my_tar_file.tar"

# 查看文件是否是压缩文件的格式
if tarfile.is_tarfile(filename):
    
    # 打开文件
    with tarfile.open(filename, "r") as file:
        # 解压缩全部的文件
        file.extractall()
        
    # 打印解压缩成功的消息
    print(f"{filename} 解压缩成功!")

那么要是我们想要打印出来解压缩文件当中的文件名,代码也非常的简单,如下所示

# 导入模块
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)

从压缩包中,解压缩出指定的文本文件,代码如下

# 导入模块
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 = "text_file_1.txt"
        # 检查文本文件是否存在
        if fname_to_extract in files:
            # 解压缩指定的文件出来
            file.extract(fname_to_extract)   
        
    # 打印成功
    print("File extracted successfully")

创建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")

output

<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>

创建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)

output

{'name': 'Gowtham', 'profession': 'Blogging', 'programming_lang_known': 'Python'}

创建PDF文件

如果是要创建PDF文件的话,这里就需要用到fpdf模块,这里用到pip命令来进行该模块的下载,

pip install fpdf

我们尝试往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")
 
 

7b2a3f34a96cbbfb42d98ecb5cb2ca9b.jpeg

 
 
 
 
 
 
 
 
往期精彩回顾




适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值