#最初と最後の空白を取り除く
" 空白が たくさん あるよ ".strip()
# 改行文字も取り除く
" 最後に 改行文字が 含まれる例 \n".strip()
この関数では、指定した区切り文字で文字列を分割して文字列のリストを返します。区切り文字を指定しない場合、スペースやタブのような空白でうまいこと分割してくれるので、まずは区切り文字を指定しないでやってみることをおすすめします。
#スペースで分割
"a b c".split()
#タブやスペースが混在しててもうまく分割してくれる
"a \t b \t c".split()
#区切り文字を指定する場合
"csvファイルなどに,使う場合を,想定しています".split(",")
その名の通り、文字列に含まれるある文字を別の文字に置き換えた文字列を返す関数です。
"あいうあいう".replace("あ","い") # "あ"を"い"に置き換える
with構文をファイル入出力の際に使いましょう。
エラーが起きても、ファイルを自動的に閉じてくれるため、安全にファイル入出力を行うことができます。
# ファイルの最後までを文字列としてdataに入れる
with open("data.txt", "r", encoding="utf-8") as fp:
data = fp.read()
# 下はwith構文で書いた場合と大体等価ですが、
# 1行増えた上にインデントがなく、読みにくい
fp = open("data.txt", "r", encoding="utf-8")
data = fp.read()
fp.close()
一行ずつ読み取りたい場合は、fpに対してforループを回すと良いです。
下の例では、各行が改行文字を含んだまま取り出されているのでstr.strip関数でそれを取り除いています。
with open("data.txt", "r", encoding="utf-8") as fp:
for line in fp:
print(line.strip())
テキストファイルはそれぞれに異なる文字コードが使われています。
もともとの文字コードと違う文字コードで読み込もうとすると「文字化け」と言われる現象が起きます。
うまくテキストファイルをopenできない場合、以下のencodingを試してみると良いです。
大概のテキストファイルはどれかに当てはまります。