Python創(chuàng)建7種不同的文件格式的方法總結(jié)
今天的這篇文章呢,小編來(lái)介紹一下如何通過(guò)Python來(lái)創(chuàng)建各種形式的文件,這里包括了
- 文本文件
CSV文件Excel文件- 壓縮文件
XML文件JSON文件PDF文件
1.創(chuàng)建文本文件
文本文件本質(zhì)上是以.txt后綴結(jié)尾的文件,在Python當(dāng)中創(chuàng)建文本文件是非常的容易和簡(jiǎn)單的,代碼如下
# 通過(guò)Python來(lái)創(chuàng)建文本文件
# 選擇文件的名稱(chēng)
file_name = "my_text_file.txt"
# 將內(nèi)容寫(xiě)入至文件中
texts = "Hi, How do you doing?"
# 打開(kāi)文件,編輯模式
with open(file_name, "w") as file:
file.write(texts)
# 打印創(chuàng)建文本文件成功的信息
print(f"{file_name} 創(chuàng)建成功!")當(dāng)然了要是我們想要來(lái)讀取該文件當(dāng)中的內(nèi)容,代碼也非常的簡(jiǎn)單,如下所示
# 用Python讀取文本文件 # 文件的名稱(chēng) file_name = "my_text_file.txt" # 打開(kāi)文件,讀取當(dāng)中的內(nèi)容 with open(file_name, "r") as file: texts = file.read() # 打印文本文件中的內(nèi)容 print(texts)
2.創(chuàng)建CSV文件
CSV文件在我們的日常生活學(xué)習(xí)當(dāng)中也是非常常用的,要想創(chuàng)建CSV文件,這里就需要用到Python當(dāng)中的CSV模塊,代碼也是十分的簡(jiǎn)單,如下所示
import csv
# 文件的名稱(chēng)
file_name = "my_csv_file.csv"
# 打開(kāi)文件,并且是編輯的模式
with open(file_name, "w") as file:
writer = csv.writer(file)
# 編輯內(nèi)容
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} 創(chuàng)建成功!")當(dāng)然了我們這里還可以調(diào)用writerows()方法,代碼如下
#?CSV文件的名稱(chēng)
file_name?=?"my_csv_file.csv"
#?寫(xiě)入的內(nèi)容
content?=?[
????["Number",?"Name",?"Company"],
????[1,?"Elon?Musk",?"Tesla"],
????[2,?"Bill?Gates",?"Microsoft"],
????[3,?"Jeff?Bezos",?"Amazon"],
????[4,?"Steve?Jobs",?"Apple"]
]
#?打開(kāi)文件并且開(kāi)啟編輯的模式
with?open(file_name,?"w")?as?file:
?#?創(chuàng)建編輯的工具
????writer?=?csv.writer(file)
????writer.writerows(content)
#?打印出文件創(chuàng)建成功的消息
print(f"{file_name}?創(chuàng)建成功!")我們來(lái)看一下文件當(dāng)中的內(nèi)容,如下所示

那么當(dāng)我們想要來(lái)讀取該CSV文件的時(shí)候,就需要下面的這個(gè)代碼,如下所示
#?CSV文件的名稱(chēng) file_name?=?"my_csv_file.csv" #?打開(kāi)文件,讀取文件的模式 with?open(file_name,?"r")?as?file: ????#?創(chuàng)建讀取文件的工具 ????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']
3.創(chuàng)建Excel文件
這里我們需要用到openpyxl模塊,要是你還沒(méi)有下載該模塊,這里就需要用到pip命令來(lái)實(shí)現(xiàn)模塊的安裝了,如下
pip?install?openpyxl
創(chuàng)建Excel文件的方式也特別簡(jiǎn)單,代碼如下
#?導(dǎo)入模塊 from?openpyxl?import?Workbook #?Excel文件的文件名 file_name?=?"my_excel_file.xlsx" #?創(chuàng)建文件的工具 workbook?=?Workbook() sheet_1?=?workbook.active
編輯Excel文件的方式有三種,我們這里一一來(lái)介紹一下,第一種是在指定的單元格當(dāng)中放入需要填充的內(nèi)容,代碼如下
#?通過(guò)指定單元格的位置來(lái)填充內(nèi)容 #?第一條記錄 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)
方法二的話和方法一是十分相類(lèi)似的,代碼如下
#?通過(guò)指定單元格的位置來(lái)填充內(nèi)容 #?第一條記錄 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)
方法三,通過(guò)調(diào)用append()方法來(lái)實(shí)現(xiàn)往Excel文件當(dāng)中填充內(nèi)容,代碼如下
#?一系列的數(shù)據(jù)內(nèi)容 records?=?[ ????["Number",?"Name",?"Company"], ????[1,?"Elon?Musk",?"Tesla"], ????[2,?"Bill?Gates",?"Microsoft"], ????[3,?"Jeff?Bezos",?"Amazon"] ] #?append()方法填充內(nèi)容 for?record?in?records: ????sheet_1.append(record) #?保存文件 workbook.save(file_name)
我們來(lái)看一下文件當(dāng)中的內(nèi)容,如下所示

而要是我們來(lái)讀取一下文件當(dāng)中的內(nèi)容,代碼如下,這里需要用到iter_rows()
#?導(dǎo)入模塊 import?openpyxl #?文件名的名稱(chēng) file_name?=?"my_excel_file.xlsx" #?加載Excel文件 workbook?=?openpyxl.load_workbook(file_name) sheet_1?=?workbook.active #?開(kāi)始讀取的行的位置 min_row?=?sheet_1.min_row #?讀取行的位置讀取到哪兒 max_row?=?sheet_1.max_row #?開(kāi)始讀取單元格的位置 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
4.創(chuàng)建壓縮文件
在Python當(dāng)中來(lái)創(chuàng)建壓縮文件是非常簡(jiǎn)單的,這里需要用到tarfile模塊,代碼如下
#?導(dǎo)入模塊
import?tarfile
#?打開(kāi)壓縮文件,編輯模式
with?tarfile.open("my_tar_file.tar",?"w")?as?file:
????#?添加txt文本文件,并且指定文件的名稱(chēng)
????file.add("text_file_1.txt")
????file.add("text_file_2.txt")
#?打印創(chuàng)建成功的消息
print("壓縮包創(chuàng)建成功!")要是我們想要解壓縮 壓縮包當(dāng)中的文件,這里就可以用到extractall()方法,代碼如下
#?導(dǎo)入模塊
import?tarfile
#?解壓縮文件的名稱(chēng)
filename?=?"my_tar_file.tar"
#?查看文件是否是壓縮文件的格式
if?tarfile.is_tarfile(filename):
????
????#?打開(kāi)文件
????with?tarfile.open(filename,?"r")?as?file:
????????#?解壓縮全部的文件
????????file.extractall()
????????
????#?打印解壓縮成功的消息
????print(f"{filename}?解壓縮成功!")那么要是我們想要打印出來(lái)解壓縮文件當(dāng)中的文件名,代碼也非常的簡(jiǎn)單,如下所示
#?導(dǎo)入模塊 import?tarfile #?解壓縮包的名稱(chēng) filename?=?"my_tar_file.tar" #?檢查文件是否是壓縮包的格式 if?tarfile.is_tarfile(filename): ???? ????#?打開(kāi)文件 ????with?tarfile.open(filename,?"r")?as?file: ????????#?解壓縮文件當(dāng)中的文件名稱(chēng) ????????files?=?file.getnames() ????????#?遍歷循環(huán)文件名 ????????for?file?in?files: ????????????print(file)
從壓縮包中,解壓縮出指定的文本文件,代碼如下
#?導(dǎo)入模塊
import?tarfile
#?解壓縮包的名稱(chēng)
filename?=?"my_tar_file.tar"
#?檢查文件是否是壓縮包的格式
if?tarfile.is_tarfile(filename):
????
????#?打開(kāi)文件
????with?tarfile.open(filename,?"r")?as?file:
????????#?獲取解壓縮包中文件的名稱(chēng)
????????files?=?file.getnames()
????????
????????#?輸入你想要解壓縮的文件名
????????fname_to_extract?=?"text_file_1.txt"
????????#?檢查文本文件是否存在
????????if?fname_to_extract?in?files:
????????????#?解壓縮指定的文件出來(lái)
????????????file.extract(fname_to_extract)???
????????
????#?打印成功
????print("File?extracted?successfully")5.創(chuàng)建XML文件
在Python當(dāng)中創(chuàng)建XML文件就需要用到xml模塊,我們這里定義一個(gè)函數(shù)來(lái)創(chuàng)建XML文件,代碼如下
#?導(dǎo)入模塊
import?xml.etree.ElementTree?as?xml
#?函數(shù)方法來(lái)創(chuàng)建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)
????
????#?將內(nèi)容寫(xiě)入至XML文件中
????with?open(filename,?"wb")?as?file:
????????tree.write(file)
????????
????#?打印創(chuàng)建成功的信息
????print("創(chuàng)建成功!")
????
#?調(diào)用上述定義的函數(shù)
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>
6.創(chuàng)建JSON文件
創(chuàng)建JSON文件的模塊在Python當(dāng)中也叫json,那么往JSON文件中寫(xiě)入內(nèi)容這里需要用到dump()方法,代碼如下
#?導(dǎo)入模塊
import?json
#?鍵值對(duì)來(lái)寫(xiě)入至JSON文件中
data?=?{
????"name":?"junxin",
????"profession":?"Blogging",
????"programming_language":?"Python",
}
#?創(chuàng)建文件,并且以編輯的模式打開(kāi)
with?open("my_json_file.json",?"w")?as?file:
????#?這里調(diào)用到dump()方法來(lái)寫(xiě)入內(nèi)容
????json.dump(data,?file)
????
#?打印創(chuàng)建成功的信息
print("創(chuàng)建成功!")而當(dāng)我們想要來(lái)查看JSON文件當(dāng)中的內(nèi)容,這里就需要調(diào)用load()方法,代碼如下
#?導(dǎo)入模塊
import?json
#?打開(kāi)文件
with?open("my_json_file.json",?"r")?as?file:
????#?調(diào)用load()方法
????content?=?json.load(file)
#?打印內(nèi)容
print(content)output
{'name': 'Gowtham', 'profession': 'Blogging', 'programming_lang_known': 'Python'}
7.創(chuàng)建PDF文件
如果是要?jiǎng)?chuàng)建PDF文件的話,這里就需要用到fpdf模塊,這里用到pip命令來(lái)進(jìn)行該模塊的下載,
pip?install?fpdf
我們嘗試往PDF文件中寫(xiě)入內(nèi)容,代碼如下
#?導(dǎo)入模塊
import?fpdf
#?創(chuàng)建實(shí)例
pdf?=?fpdf.FPDF()
#?添加一頁(yè)內(nèi)容
pdf.add_page()
#?設(shè)置字體的格式
pdf.set_font("arial")
#?設(shè)置字體的大小
pdf.set_font_size(18)
#?寫(xiě)入內(nèi)容
pdf.cell(w=0,?txt="Hello?World!!",?ln=0)
#?保存內(nèi)容
pdf.output("my_pdf.pdf")到此這篇關(guān)于Python創(chuàng)建7種不同的文件格式的方法總結(jié)的文章就介紹到這了,更多相關(guān)Python創(chuàng)建文件格式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)在tkinter中使用matplotlib繪制圖形的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)在tkinter中使用matplotlib繪制圖形的方法,結(jié)合實(shí)例形式分析了Python使用tkinter與matplotlib進(jìn)行正弦曲線圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Python報(bào)錯(cuò):OSError:?[Errno?22]?Invalid?argument解決方案及應(yīng)用實(shí)例
最近跑別人的項(xiàng)目遇到一個(gè)這樣的問(wèn)題一開(kāi)始以為是沒(méi)有用管理員的權(quán)限運(yùn)行,導(dǎo)致創(chuàng)建不了日志文件后來(lái)發(fā)現(xiàn)是和windows的命名規(guī)則沖突了,這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò):OSError:?[Errno?22]?Invalid?argument的解決方案及應(yīng)用實(shí)例,需要的朋友可以參考下2024-07-07
Python實(shí)現(xiàn)檢測(cè)照片中的人臉數(shù)
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)檢測(cè)照片中共有多少?gòu)埲四?,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-08-08
Python Scrapy框架第一個(gè)入門(mén)程序示例
這篇文章主要介紹了Python Scrapy框架第一個(gè)入門(mén)程序,結(jié)合實(shí)例形式分析了Python Scrapy框架項(xiàng)目的搭建、抓取字段設(shè)置、數(shù)據(jù)庫(kù)保存等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
Python+OpenCV內(nèi)置方法實(shí)現(xiàn)行人檢測(cè)
OpenCV附帶一個(gè)預(yù)訓(xùn)練的HOG+線性SVM模型,可用于在圖像和視頻流中執(zhí)行行人檢測(cè)。本文我們將使用Opencv自帶的模型實(shí)現(xiàn)對(duì)視頻流中的行人檢測(cè)。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12
pyinstaller打包后,配置文件無(wú)法正常讀取的解決
這篇文章主要介紹了pyinstaller打包后,配置文件無(wú)法正常讀取的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
python實(shí)現(xiàn)滑動(dòng)拼圖驗(yàn)證碼擺脫煩人的驗(yàn)證碼輸入
這篇文章主要為大家介紹了python實(shí)現(xiàn)滑動(dòng)拼圖驗(yàn)證碼擺脫煩人的驗(yàn)證碼輸入方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
解決Python獲取字典dict中不存在的值時(shí)出錯(cuò)問(wèn)題
今天小編就為大家分享一篇解決Python獲取字典dict中不存在的值時(shí)出錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
TensorFlow學(xué)習(xí)之分布式的TensorFlow運(yùn)行環(huán)境
這篇文章主要了TensorFlow學(xué)習(xí)之分布式的TensorFlow運(yùn)行環(huán)境的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

