python文件處理詳解
文件操作
此為本人學習python過程中的筆記,將持續(xù)更新,歡迎提問指正。
1.txt文件
1.文本文件 txt
2.二進制文件 圖片視頻
操作流程打開——操作——關(guān)閉
打開文件
變量名 = open(文件路徑及文件名,模式)
操作文件
變量名.close
路徑使用 \\ 或 /
模式 | 描述 |
---|---|
r | 只讀 |
w | 覆蓋寫, |
x | 創(chuàng)建寫,創(chuàng)建文件 |
a | 追加寫 |
b | 二進制文件模式 |
t | 文本文件模式 |
+ | 與r/w/x/a一同使用 |
測試使用中寫入位置存在問題,只出現(xiàn)過一次,不知道是不是我操作的問題,希望了解的大佬可以指點一下
f=open("G:\\Python\\txt.txt","a") f=open("G:\\Python\\txt.txt","r+") print(f.read()) f.write("99999999") f.close() #文件讀取只有第一次會調(diào)用,后面不在生效 #實測a+無法讀取文件,r+模式下光標出現(xiàn)在開頭一次 read(10) 讀取10個字符 readline() 讀取第一行,有參數(shù)讀取該行前n個字符 readlines() 讀取所有行,如有參數(shù)則讀取第n行 seek(0) 改變指針位置,0為開頭,1為結(jié)尾 write()向文件寫入內(nèi)容 writelines()將列表類型全部元素連接起來寫入文檔中
2.數(shù)據(jù)維度
1.一維數(shù)據(jù)
由對等關(guān)系的有序無序數(shù)據(jù)構(gòu)成
2.二維數(shù)據(jù)
也稱表格數(shù)據(jù),采用二維表格方式組織,對應(yīng)數(shù)學中的矩陣
3.高維數(shù)據(jù)
由鍵值對類型數(shù)據(jù)構(gòu)成,采用對象方式組織,可以多層嵌套
高維數(shù)據(jù)在web中常見,是internet組織內(nèi)容的主要方式,常見有HTML、XML、JSON等具體組織語法結(jié)構(gòu)
HTML:可在網(wǎng)頁中F12查看
XML : Android Studio里
JSON :https://daily.zhihu.com/
一位數(shù)據(jù)
python 中主要以列表的形式存儲
總體思路是采用特殊字符分隔元素,比如空格,逗號,換行符,以及其他特殊分隔符
ls=['一','二','三'] f.write(",".jion(ls)) join() 將序列中元素以指定字符連接生成新字符串 print(",".jion(ls))
csv文件 逗號分隔值
通用的、相對簡單的文件格式,后綴名一般為 .csv
一位數(shù)據(jù)保存后,各元素間采用逗號分隔(英文逗號),在商業(yè)和科學上應(yīng)用廣泛
f=open("12.csv","r") ls=f.read() ls_new=ls.split(',') #通過指定分隔符對字符串進行切片,返回列表 f.close
二維數(shù)據(jù)
csv文件也可存儲二維數(shù)據(jù)
ls=[["1","2"], ["3",["4"]]] f=open("12.csv","w") for row in ls: f.write(",".join(row)+"\n") f.close f = open("12.csv", "r") ls = [] for line in f: ls.append(line.strip('\n').split(",")) # a=line.strip('\n') # b=a.split(',') # ls.append(b) f.close
3.Excel文件
#引入Excel庫的xlrd 1.20版本 import xlrd # 打開剛才我們寫入的 test_w.xls 文件 wb = xlrd.open_workbook(r'E:\MATLAB\project\shiyan\12.xlsx') # 獲取并打印 sheet 數(shù)量 print( "sheet 數(shù)量:", wb.nsheets) # 獲取并打印 sheet 名稱 print( "sheet 名稱:", wb.sheet_names()) # 根據(jù) sheet 索引獲取內(nèi)容 sh1 = wb.sheet_by_index(0) # 也可根據(jù) sheet 名稱獲取內(nèi)容 sh = wb.sheet_by_name('成績') # 獲取并打印該 sheet 行數(shù)和列數(shù) print( u"sheet %s 共 %d 行 %d 列" % (sh1.name, sh1.nrows, sh1.ncols)) # 獲取并打印某個單元格的值 print( "第一行第二列的值為:", sh1.cell_value(0, 1)) # 獲取整行或整列的值 rows = sh1.row_values(0) # 獲取第一行內(nèi)容 cols = sh1.col_values(1) # 獲取第二列內(nèi)容 # 打印獲取的行列值 print( "第一行的值為:", rows) print( "第二列的值為:", cols) # 獲取單元格內(nèi)容的數(shù)據(jù)類型 print( "第二行第一列的值類型為:", sh1.cell(1, 0).ctype)ets()[0]
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系
這篇文章主要介紹了詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01Python調(diào)用scp向服務(wù)器上傳文件示例
今天小編就為大家分享一篇Python調(diào)用scp向服務(wù)器上傳文件示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12用實例分析Python中method的參數(shù)傳遞過程
這篇文章主要介紹了用實例分析Python中method的參數(shù)傳遞過程,包括instancemethod和staticmethod等實例,需要的朋友可以參考下2015-04-04python調(diào)用jenkinsAPI構(gòu)建jenkins,并傳遞參數(shù)的示例
這篇文章主要介紹了python調(diào)用jenkinsAPI構(gòu)建jenkins,并傳遞參數(shù)的示例,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2020-12-12Python使用列表和字典實現(xiàn)簡單的考試系統(tǒng)詳解
這篇文章主要介紹了Python使用列表和字典實現(xiàn)簡單的考試系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01pycharm命令終端運行python文件以及傳遞參數(shù)方式
這篇文章主要介紹了pycharm命令終端運行python文件以及傳遞參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06