網站首頁 編程語言 正文
今天的這篇文章呢,小編來介紹一下如何通過Python
來創建各種形式的文件,這里包括了
- 文本文件
-
CSV
文件 -
Excel
文件 - 壓縮文件
-
XML
文件 -
JSON
文件 -
PDF
文件
1.創建文本文件
文本文件本質上是以.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)
2.創建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}?創建成功!")
我們來看一下文件當中的內容,如下所示
那么當我們想要來讀取該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']
3.創建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)
我們來看一下文件當中的內容,如下所示
而要是我們來讀取一下文件當中的內容,代碼如下,這里需要用到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
4.創建壓縮文件
在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")
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")
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.創建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'}
7.創建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")
原文鏈接:https://mp.weixin.qq.com/s/Tc3e_nPXZt4lcDb6dtG7sA
相關推薦
- 2022-07-12 element表格 頻繁切換維度,導致表頭渲染有誤
- 2022-04-30 C#操作DataGridView獲取或設置當前單元格的內容_C#教程
- 2023-12-10 啟動微服務,提示驅動程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立安全連接
- 2022-07-08 ???????C語言實現單鏈表基本操作方法_C 語言
- 2022-04-25 Entity?Framework?Core中執行SQL語句和存儲過程的方法介紹_實用技巧
- 2022-10-03 C語言實現經典排序算法的示例代碼_C 語言
- 2022-05-08 ASP.NET中Web?API解決跨域問題_實用技巧
- 2022-06-29 C語言詳細講解常用字符串處理函數_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支