欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實現簡單文件讀寫函數

 更新時間:2021年02月25日 17:23:22   作者:李子園的夢想  
這篇文章主要為大家詳細介紹了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語句執(zhí)行完畢后同時關閉打開的文件句柄。
 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))

百度了下通過 以上方式 解決了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python實現直方圖均衡基本原理解析

    Python實現直方圖均衡基本原理解析

    這篇文章主要介紹了Python實現直方圖均衡基本原理,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • OpenCV+face++實現實時人臉識別解鎖功能

    OpenCV+face++實現實時人臉識別解鎖功能

    這篇文章主要為大家詳細介紹了OpenCV+face++實現實時人臉識別解鎖功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python pandas 重命名索引和列名稱的實現

    Python pandas 重命名索引和列名稱的實現

    本文主要介紹了Python pandas 重命名索引和列名稱的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Python如何提取chm數據

    Python如何提取chm數據

    這篇文章主要介紹了Python如何提取chm數據,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python郵件中附加文字、html、圖片、附件實現方法

    python郵件中附加文字、html、圖片、附件實現方法

    在本篇文章里小編給大家整理了一篇關于python郵件中附加文字、html、圖片、附件實現方法,有興趣的朋友們跟著學習下。
    2021-01-01
  • python tkinter控件布局項目實例

    python tkinter控件布局項目實例

    這篇文章主要介紹了python tkinter控件布局項目實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python 使用生成器代替線程的方法

    Python 使用生成器代替線程的方法

    這篇文章主要介紹了Python 使用生成器代替線程的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • Python實現輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例

    Python實現輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例

    這篇文章主要介紹了Python實現輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作,涉及Python基于先序遍歷和中序遍歷構造二叉樹,再后序遍歷輸出相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python線性網絡實現分類糖尿病病例

    Python線性網絡實現分類糖尿病病例

    什么是線性規(guī)劃?想象一下,您有一個線性方程組和不等式系統(tǒng)。這樣的系統(tǒng)通常有許多可能的解決方案。線性規(guī)劃是一組數學和計算工具,可讓您找到該系統(tǒng)的特定解,該解對應于某些其他線性函數的最大值或最小值
    2022-10-10
  • pygame實現簡單五子棋游戲

    pygame實現簡單五子棋游戲

    這篇文章主要為大家詳細介紹了pygame實現簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下<BR>
    2022-01-01

最新評論