1. 程式人生 > >python3文字讀取與寫入常用程式碼

python3文字讀取與寫入常用程式碼

建立資料夾:
import os
import shutil

def buildfile(echkeyfile):
if os.path.exists(echkeyfile):
        #建立前先判斷是否存在資料夾,if存在則刪除
        shutil.rmtree(echkeyfile)
        os.makedirs(echkeyfile)
    else:
        os.makedirs(echkeyfile)#else則建立語句
return echkeyfile#返回建立路徑
#傳入的引數是需要建立資料夾的路徑,比如我想在D盤下建立一個名字為newfile的資料夾,則傳入引數為r’ D:\newfile’。同樣,返回的引數也是r’ D:\newfile’
寫入文字1import codecs def write_txt(txt, path): f = codecs.open(path, 'a', 'utf8') f.write(str(txt)) f.close() # 傳入引數為txt,path;txt為需要寫入的內容,資料型別為字串,path為寫入的內容,資料型別為字串。 # 傳入的path需如下定義:path= r’ D:\text.txt’ # f = codecs.open(path, 'a', 'utf8')中,codecs為包,需要用impor引入,’a’表示追加寫入txt,可以換成’w’,表示覆蓋寫入。'utf8'表述寫入的編碼,可以換成'utf16'等。
寫入文字2(等同於寫入文字1,但是這個比較常用): import codecs def writetxt(path, content, code): with codecs.open(path, 'a', encoding=code)as f: f.write(content) return path+' is ok!' 讀取txt: def read_txt(path): with open(path, 'r', encoding='utf8') as f: lines = f.readlines() return lines # 表示按行讀取txt檔案,utf8表示讀取編碼為utf8的檔案,可以根據需求改成utf16,或者GBK等。
# 返回的為陣列,每一個數組的元素代表一行,若想返回字串格式,可以將改寫成return ‘\n’.join(lines)   讀取Excel檔案: import xlrd def read_xls(path): xl = xlrd.open_workbook(path) sheet = xl.sheets()[0] # 0表示讀取第一個工作表sheet data = [] for i in range(0, sheet.ncols): # ncols表示按列讀取 data.append(list(sheet.col_values(i))) return data # xlrd為第三方包,可以通過用pip下載,具體操作:開啟執行,輸入cmd→在cmd中輸入pip install xlrd,enter →等待安裝完成即可。在後續若存在需要使用的第三方包,都可以通過這種方式下載和安裝。 # 傳入引數為path,path為excel所在路徑。 # 傳入的path需如下定義:path= r’ D:\excel.xlsx’或path= r’ D:\excel.xls’ # col_values(i)表示按照一列中的所有單元格遍歷讀取 # 可以根據需求,把col替換成row,則表示按行讀取 # return data :返回的data是一個二維陣列,根據col和row,傳回的資料呈現形式也不同,即row是col的轉置。   遍歷資料夾: def file_walker(path): fileArray = [] for root, dirs, files in os.walk(path): for fn in files: eachpath = str(root+'\\'+fn) fileArray.append(eachpath) return fileArray # 傳入引數為path,path為需要遍歷的資料夾路徑。 # return fileArray 返回的是當前檔案下所有檔案的絕對路徑