ホームページ >バックエンド開発 >Python チュートリアル >Pythonを使って漢字を含むファイルを読み書きし、末尾に特定の文字を追加する方法の紹介
データ マイニングでは、元のファイルの形式が混乱することがよくあります。非常に重要な手順は、データ ファイルの形式を整理することです。
最近、私が引き継いだプロジェクトでは、提供されたデータ ファイルの形式が耐えられず、パンダを使用して開くことができず、入出力エラーが表示され続けました。注意深く調べたところ、ファイル内の多くの行のデータが終了していることがわかりました。 " が含まれていますが、他の行は欠落しています。 したがって、その必要性は明らかです。各行の末尾に "" があるかどうかを確認し、ない場合は単に追加します。
結局のところ、多くの人が必要としているのは、理由ではなく、簡単な解決策です。 解決策は次のとおりです:
b = open('b_file.txt', w) with open('a_file.txt', 'r') as lines: for line in lines: line = line.strip() if not line.endswith(r'"'): line += r'"' line += '\n' b.write(line) b.close() a.close()
プロセス全体の鍵は
line = line.strip()
以前は怠け者でした。上記の行が見つかりましたが、結果は判定条件が失敗しました。プログラムは各行が「:
if not line.endswith(r'"')
弾丸を噛んで試してみてください。
for line in open(data_path+'heheda.txt', 'r'): if not line[-2] == r'"': print line line = line[:-1] + r'"' + line[-1:] print line」で終わっていないと判断しました。
「この時の判定条件は、line[-2] == r'」でない場合、最終行以外は正しい結果が得られます。ご存知のとおり、Windows システムでは、ファイルの復帰文字は「rn」です。したがって、復帰文字を処理するためのstrip()がない場合は、ファイルの末尾で1バイト前に手動で移動する必要があります。各行の終わりを判断します。ファイルの最終行については、通常、改行文字で終わることはありません。結局のところ、改行する必要はありません。したがって、[-2] 行は最後の漢字の中央に配置され、xxxx は xx"xx としてハードライトされるため、最後の文字が正しく表示されません。
以上がPythonを使って漢字を含むファイルを読み書きし、末尾に特定の文字を追加する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。