Python財經應用-編程基礎、數據分析與可視化課件 第3章-Python文件操作-3.1文件相關的基本概念_第1頁
Python財經應用-編程基礎、數據分析與可視化課件 第3章-Python文件操作-3.1文件相關的基本概念_第2頁
Python財經應用-編程基礎、數據分析與可視化課件 第3章-Python文件操作-3.1文件相關的基本概念_第3頁
Python財經應用-編程基礎、數據分析與可視化課件 第3章-Python文件操作-3.1文件相關的基本概念_第4頁
Python財經應用-編程基礎、數據分析與可視化課件 第3章-Python文件操作-3.1文件相關的基本概念_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python財經應用:編程基礎、數據分析與可視化第三章Python文件操作中國農業(yè)大學李輝Python

文件操作本章內容系統(tǒng)介紹了文件相關的概念、操作方法及其在財經數據分析中的應用。首先,從文件與路徑的基本概念入手,講解了文件編碼、文本文件與二進制文件的區(qū)別,為后續(xù)操作奠定理論基礎。接著,深入探討了文件夾與目錄操作,包括使用os.path模塊獲取路徑信息、改變工作目錄、目錄與文件的創(chuàng)建、重命名和刪除等操作,特別強調了文件夾操作在財務票據命名處理中的應用。隨后,詳細講解了文件的基本操作,包括文件的打開與關閉、按行讀寫文件內容,以及使用fileinput對象高效處理大文件,展示了如何通過文件操作實現消費賬單數據的讀取與修改。最后,針對財經數據分析中常見的CSV文件,介紹了如何使用Python讀取和寫入CSV文件,為處理結構化數據提供了實用工具。01

文件相關的基本概念02

文件夾與目錄操作03

文件的基本操作04

CSV文件讀取與寫入操作01

文件相關的基本概念02

文件夾與目錄操作03

文件的基本操作04

CSV文件讀取與寫入操作3.1

文件相關的基本概念第三章Python文件操作文件系統(tǒng)是操作系統(tǒng)的重要組成部分,它規(guī)定了計算機對文件和目錄進行操作處理的各種標準和機制。以此為基礎,編程語言提供了文件類型,在程序中亦可通過文件實現數據的輸入/輸出。文件的輸入/輸出:指從已有的文件中讀取數據,并將處理結果按照一定格式輸出到文件中,適用于大批量的數據處理要求。操作系統(tǒng)對數據進行管理是以文件為單位的,當訪問磁盤等外存上的數據時,必須先按文件名找到指定的文件,然后再從該文件中讀取數據;如果要向外部介質(如硬盤等)上存儲數據,也必須先建立一個文件,才能向其輸出數據。在程序中對文件訪問和處理時,情況是類似的,所有的操作都與文件的表示、文件的編碼和文件的類型有著密不可分的關系。文件相關的基本概念文件相關的基本概念——文件與路徑文件是存儲在外部介質上的數據集合,通??梢蚤L久保存,也稱為磁盤文件。這種在計算機磁盤中保存的文件是通過目錄來組織和管理的,目錄提供了指向對應磁盤空間的路徑地址。目錄一般采用樹狀結構,在這種結構中,每個磁盤有一個根目錄,它包含若干文件和子目錄。子目錄還可以包含下一級目錄,這樣類推下去形成了多級目錄結構。訪問文件需要知道文件所在的目錄路徑,這種從根目錄開始標識文件所在完整路徑的方式稱為絕對路徑。如果知道訪問文件的程序與文件之間的位置關系,也可以采用相對路徑,即相對于程序所在的目錄位置建立其引用文件所在的路徑。【例3-1】絕對路徑示例。假定文件file.txt保存在D盤lecture目錄的ex子目錄下,那么包含絕對路徑的文件名是由磁盤驅動器、目錄層次和文件名三部分組成的,即D:\lecture\ex\file.txt,在Python中用字符串表示為:"D:\\lecture\\ex\\file.txt"或"D:/lecture/ex/file.txt"文件相關的基本概念——文件與路徑【例3-2】相對路徑示例。假定文件file.txt保存在D盤的lecture目錄的ex子目錄下,源程序保存在D盤的lecture目錄下,那么包含相對路徑的文件名表示為ex\file.txt,在Python語言中用字符串表示為:"ex\\file.txt"或者:"ex/file.txt"注意:Windows系統(tǒng)建立路徑所使用的幾個特殊符號為:“.\”代表當前目錄,“..\”代表上一層目錄。在Python語言中,在表示路徑的字符串中“/”可以等同于“\”,但必須轉義為“\\”。文件相關的基本概念——文件的編碼按照文件的編碼方式,可將文件分為兩種類型:文本文件和二進制文件。文本文件可以在Windows記事本中打開并選擇編碼方式保存。如圖所示,使用“另存為”命令,在打開的對話框中,可選擇ANSI、Unicode、Unicodebigendian和UTF-8等編碼方式。文件相關的基本概念——文件的編碼ANSI編碼:對于一般的文本文檔,記事本默認是以ANSI編碼保存的。ANSI是由美國國家標準學會制定的編碼,不同的國家和地區(qū)使用的標準不同,由此產生了GB2312、GBK、Big5、Shift_JIS等各自的編碼標準。不同ANSI編碼之間互不兼容,無法將屬于兩種語言的文字,如中文的GBK和日文的Shift_JIS,存儲在同一段ANSI編碼的文本中。但是對于ANSI編碼而言,0x00~0x7F的字符,仍然是1字節(jié)代表1個字符,即ANSI的西文字符就是ASCII編碼。文件相關的基本概念——文件的編碼

Unicode編碼:Unicode碼是繼ANSI編碼之后推出的一種國際標準字符編碼方法,它可以容納全世界所有語言文字,每個字符都具有唯一的編碼。對于ASCII碼中的那些半角字符,Unicode碼保持其原編碼不變,只是將其長度由原來的8位擴展為16位,而對于其他文化和詞語言的字符則全部重新統(tǒng)一編碼。從Unicode編碼開始,無論是半角的英文字母,還是全角的漢字,它們都被統(tǒng)一計為一個字符。文件相關的基本概念——文件的編碼

UTF-8編碼:Unicode字符集規(guī)定了如何用多字節(jié)表示各種文字。而如何在網絡上傳輸這些編碼,則是由Unicode字符集的傳輸規(guī)范UTF規(guī)定的,常見的規(guī)范包括UTF-8、UTF-16、UTF-32。UTF-8就是以8位為單元對Unicode字符集進行編碼,即每次傳輸8位數據。為了保證傳輸時的可靠性,從Unicode到UTF并不是直接的對應,而是通過一些算法和規(guī)則來進行轉換。對于Unicode編碼在0000~007F內的字符,UTF-8用1字節(jié)來表示(等同于ASCII碼值);對于在0080~07FF內的字符,UTF-8用2字節(jié)來表示;對于在0800~FFFF內的字符,UTF-8用3字節(jié)來表示。也就是說,UTF-8最多用3字節(jié)來表示一個字符。文件相關的基本概念——文件的編碼

Unicodebigendian編碼:記事本中的Unicode是littleendian編碼。Unicodebigendian和littleendian的區(qū)別在于處理多字節(jié)數的方式不同。例如,“百”字的Unicode編碼是767E,那么寫到文件里時,如果將“76”寫在前面,就是bigendian;而將“7E”寫在前面,就是littleendian。相比而言,Unicodebigendian更常用些。Python語言的文件編碼:在Python3.x版本中,文件的默認編碼格式是UTF-8,字符串使用的是Unicode編碼。所有的文本類型,都使用Unicode編碼,可以直接使用str.encode()進行編碼,encode()后可看到字符的UTF-8編碼,再使用bytes.decode()可解碼為文本。文件相關的基本概念——文本文件和二進制文件的區(qū)別文本文件:基于字符編碼的文件,常見的編碼有ASCII編碼和Unicode編碼等,其文件的內容就是字符。Python2.x版本使用的是ASCII編碼值,在處理漢字等多字節(jié)字符時相對比較煩瑣。而在Python3.x版本中,文本文件是以字符的Unicode碼值進行存儲和編碼的。二進制文件:基于值編碼的文件,存儲的是二進制數據,也就是說,數據是按照其實際占用的字節(jié)數來存放的。文件相關的基本概念——文本文件和二進制文件的區(qū)別文本文件與二進制文件的不同還表現在:文本文件用通用的記事本就可以瀏覽,具有可讀性,因此,在存取時需要編/解碼,從而花費一定的轉換時間;而二進制文件的存取是直接的值處理,不需要編/解碼,不存在轉換時間,但通常無法直接讀懂。從文件的邏輯結構看,Py

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論