教你如何運用python實現簡單檔案讀寫函式
導讀 | 這篇文章主要為大家詳細介紹了python實現簡單檔案讀寫函式,文中示例程式碼介紹的非常詳細,具有一定的參考價值,感興趣的小夥伴們可以參考一下 |
python作為 性語言,加上它的簡便易用性。會經常當作 用來處理一下資料和格式。其中處理檔案就是頻繁用處之一。簡單編寫幾個常用的xls和txt讀寫函式,以後可以快速複用。
用到xlrd庫函式需要預先install
:pip install xlrd
直接貼原始碼:
#! /usr/bin/python # coding:utf-8 import json import xlrd import sys reload(sys) sys.setdefaultencoding('utf-8') class ObjectFileReadAndWrite(object): @classmethod def readXlsToDict(cls, xlsFile): ''' 讀取xls檔案生成dict ''' data = xlrd.open_workbook(xlsFile) table = data.sheet_by_index(0) ret = [] keys = table.row_values(0) for rowNum in range(table.nrows): oneRowValues = table.row_values(rowNum) if rowNum > 0: d = {} for colIdx, key in enumerate(keys): d[key] = oneRowValues[colIdx] ret.append(d) return ret @classmethod def readXlsToList(cls, xlsFile): ''' 讀取xls檔案生成list ''' data = xlrd.open_workbook(xlsFile) table = data.sheet_by_index(0) ret = [] for rowNum in range(table.nrows): oneRowValues = table.row_values(rowNum) ret.append(oneRowValues) return ret @classmethod def readTxt(cls, txtFile, sep): ''' 讀取txt檔案 ''' # with + open 可保證with語句執行完畢後同時關閉開啟的檔案控制程式碼。 ret = [] with open(txtFile, "r") as f: for line in f.readlines(): line = line.strip('\n') # 去掉換行符 listInfo = line.split(sep) # 以 sep 分割成陣列 if listInfo: ret.append(listInfo) return ret @classmethod def writeToJson(cls, jsonFile, ret): ''' 寫入json檔案 ''' with open(jsonFile, 'w') as fp: json.dump(ret, fp, indent=2, sort_keys=True, encoding="utf-8", ensure_ascii=False) @classmethod def writeFromStr(cls, filePath, s): ''' string寫入檔案 ''' with open(filePath, 'w') as fp: fp.write(s) @classmethod def writeFromList(cls, filePath, wList): ''' list寫入檔案 ''' with open(filePath, 'w') as fp: fp.writelines(wList) if __name__ == "__main__": obj = ObjectFileReadAndWrite() # xls ret = obj.readXlsToDict(xlsFile='xxx.xls') obj.writeToJson('xxx.json', ret) # txt ret2 = obj.readTxt(txtFile='result.txt', sep=" ") obj.writeToJson('result.json', ret2)
因檔案中有中文,中間遇到中文亂碼問題
import sys reload(sys) sys.setdefaultencoding('utf-8') # encoding="utf-8", ensure_ascii=False
1、這個是由於Unicode編碼與ASCII編碼的不相容造成的。
2、通常都是ascii,由此Python自然呼叫ascii編碼解碼程式去處理字元流,當字元流不屬於ascii範圍內,就會丟擲異常(ordinal not in range(128))。
百度了下透過 以上方式 解決了,以上就是本文的全部內容,希望對大家的學習有所幫助
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2762042/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python讀寫excel檔案簡單應用PythonExcel
- 教你如何運用python 6.7 編寫printTable()函式表格列印Python函式
- linux讀寫檔案 簡單版Linux
- 簡單介紹python程式設計之檔案讀寫Python程式設計
- Python 簡明教程 --- 24,Python 檔案讀寫Python
- Python-split()函式用法及簡單實現Python函式
- 簡單的檔案快取函式快取函式
- Python 讀寫檔案Python
- Python——檔案讀寫Python
- 「Python」:檔案讀寫Python
- 教你如何運用python/golang實現迴圈連結串列PythonGolang
- python中xlrd庫如何實現檔案讀取?Python
- python讀取docx檔案,就是如此簡單Python
- Python 檔案讀寫(Python IO)Python
- python讀寫excel檔案PythonExcel
- python檔案讀寫操作Python
- 教你如何運用python實現學生資訊管理系統Python
- 『無為則無心』Python函式 — 28、Python函式的簡單應用Python函式
- PostgreSQL 原始碼解讀(249)- 實現簡單的鉤子函式SQL原始碼函式
- Python中的檔案讀寫-實際操作Python
- 教你python tkinter實現簡單計算器功能Python
- 教你如何運用golang實現陣列分割Golang陣列
- 簡單介紹Python 如何擷取字元函式Python字元函式
- PostgreSQL 原始碼解讀(216)- 實現簡單的擴充套件函式SQL原始碼套件函式
- Python中的檔案讀寫Python
- Python:讀寫檔案(I/O) | 組織檔案Python
- Python讀寫txt檔案、轉換csv檔案與pandas條件計數、求和的綜合運用Python
- Python技法:實用運維指令碼編寫(程式/檔案/目錄操作)Python運維指令碼
- 幾個簡單又實用的PHP函式PHP函式
- 教你如何運用python實現不同資料庫間資料同步功能Python資料庫
- OS實驗八:採用快取記憶體實現檔案讀寫快取記憶體
- python中如何使用scipy.io讀寫.mat檔案?Python
- php函式入門學習(陣列常見函式2 & 檔案基礎讀寫)PHP函式陣列
- Python實用方法之讀取本地檔案Python
- Python檔案讀寫、StringIO和BytesIOPython
- python config配置檔案的讀寫Python
- Python之檔案讀寫小練Python
- python學習之讀寫檔案Python