Pythonを使用して簡単なファイルの読み取りおよび書き込み関数を実装する方法を教えます

この記事では、主にPythonを紹介して、単純なファイルの読み取りおよび書き込み関数を詳細に実装します。この記事のサンプルコードは非常に詳細で、特定の参照値があります。興味のある友人はそれを参照できます。

Pythonはスクリプト言語であり、その使いやすさも兼ね備えています。多くの場合、データとフォーマットを処理するためのスクリプトとして使用されます。その中で、ファイルの処理は頻繁に使用されるものの1つです。一般的に使用されるxlsおよびtxtの読み取りおよび書き込み関数をいくつか作成するだけで、将来すぐに再利用できます。

xlrdライブラリ関数の使用は事前にインストールする必要があります

コマンド: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ファイルを
 読み取ってリストを生成する
 ' '' 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ファイルを読み取る
 ' '' 
 #+ openで完了を保証できますwithステートメントの次に、開いているファイルハンドルを同時に閉じます。
 ret = [] 
 with open(txtFile、 "r")as f:
 for line in f.readlines():
 line = line.strip( '\ n')#改行を削除
 listInfo = line。
  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'、9月=」「)
 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範囲に属していない場合、例外がスローされます(通常はrange(128)にありません)。

Baiduは上記の方法でそれを解決しました。上記はこの記事の全内容です。皆さんの学習に役立つことを願っています。

おすすめ

転載: blog.csdn.net/yaxuan88521/article/details/114627605