一、檔案讀寫的讀書筆記
二進位制檔案直接由位元0和位元1組成,沒有統一字元編碼,檔案內部資料的組織格式與檔案用途有關。二進位制檔案和文字檔案最主要的區別在於是否有統一的字元編碼
無**件建立為文字檔案或者二進位制檔案,都可以用「文字檔案方式」和「二進位制檔案方式」開啟,開啟後的操作不同。
python對文字檔案和二進位制檔案採用統一的操作步驟,即「開啟-操作-關閉」
a=open(...)
a.write(s) #寫入內容
a.writelines(lines) #將乙個列表寫入檔案中
a.seek(offset) #把當前檔案指標指向哪
a.read() #讀取所有內容
a.readline() #讀一行
a.readlines() #讀取所有檔案內容,返回乙個list
a.close()
open()函式提供7種基本的開啟模式
開啟模式
含義'r'
唯讀模式,如果檔案不存在,返回異常filenotfounderror,預設值
'w'覆蓋寫模式,檔案不存在則建立,存在則完全覆蓋原始檔
'x'建立寫模式,檔案不存在則建立,存在則返回異常fileexistserror
'a'追加寫模式,檔案不存在則建立,存在則在原檔案最後追加內容
'b'二進位制檔案模式
't'文字檔案模式,預設值
與r/w/x/a一同使用,在原功能基礎上增加同時讀寫功能
根據開啟方式不同可以對檔案進行相應的讀寫操作,python提供4個常用的檔案內容讀取方法 .
python提供3個與檔案內容寫入有關的方法
二、讀入excel檔案並存為csv,並把優秀變成90分,良好變成80分,及格變為60分,不合格0分。
把讀入的excel檔案存為csv格式
import pandas as pd
wenj = pd.read_excel('python成績登記信計.xlsx', index_col=0)
wenj.to_csv('python成績登記信計.csv', encoding='utf-8')
把優秀變成90,良好變成80,及格變成60,不合格變成0.
fo=open("python成績登記信計.csv",'r',encoding='utf-8')
ls=for line in fo:
line = line.replace('\n','').replace('優秀','90').replace('良好','80').replace('不合格','0')
line = line.replace('合格','60')
ls = line.split(',')
lns=''
for s in ls:
lns+="{}\t".format(s)
print(lns)
三、轉為 html檔案
seg1 = '''\n\n\n\n'''
seg2 = "\n"
seg3 = "\n\n"
def fill_data(locls):
seg = '{}
{}{}
{}\n'.format(*locls)
return seg
fr = open("python成績登記信計.csv", "r",encoding='utf-8')
ls =
for line in fr:
line = line.replace("\n","")
fr.close()
fw = open("python成績登記信計.html", "w")
fw.write(seg1)
fw.write('{}\n{}\n{}\n{}\n'.format(*ls[0]))
fw.write(seg2)
for i in range(len(ls)-1):
fw.write(fill_data(ls[i+1]))
fw.write(seg3)
fw.close()
自己的第乙個網頁
檔案是乙個儲存在輔助儲存器上的資料序列,可以包含任何資料內容。概念上,檔案是資料的集合和抽象。二進位制檔案直接由位元0和位元1組成,沒有統一字元編碼,檔案內部資料的組織格式與檔案用途有關。二進位制檔案和文字檔案最主要的區別在於是否有統一的字元編碼 無 件建立為文字檔案或者二進位制檔案,都可以用 文字...
自己的第乙個網頁
檔案的使用包括 開啟,讀取,輸出 開啟模式說明r 唯讀模式 預設 檔案不存在則返回 filenotfounderror異常w 覆蓋寫模式,檔案不存在則建立,存在則覆蓋寫 x建立寫模式,檔案不存在則建立,存在則返回 fileexistserror異常a 追加寫模式,檔案不存在則建立,存在則追加寫 t文...
自己的第乙個網頁
一 檔案 檔案是乙個儲存在輔助儲存器上的資料序列,可以包含任何資料內容 1.文字檔案 文字檔案採用文字方式開啟時,檔案通過編碼形成字串 採用二進位制方式開啟時,檔案被解析成位元組流。由於存在編碼,字串中的乙個字元由兩個位元組表示。2.二進位制檔案 二 檔案操作 內建函式讀寫檔案 用pandas庫讀取...