Aidemy 2020/10/11
#はじめに
こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
今回は、データハンドリングの一つめの投稿になります。どうぞよろしくお願いします。
*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。
今回学ぶこと
・テキストデータの変形の方法
・文字列の分割の方法
・ファイルの出入力の方法
#(一部復習)テキストデータの整形
##オブジェクトを文字列(str)に変換する
・__str(オブジェクト)__で文字列型に変換できる。
##文字列に、変数を埋め込む
name="んがょぺ"
print("私は{}です".format(name)) #私はんがょぺです
##format()の引数に辞書型を指定したとき
・format()の文字列に含まれる{}のなかに辞書のキーを指定すると、キーの値を出力できる。
dic={"name":"ヒトカゲ", "gen":1}
print("{0[name]}、君に決めた!".format(dic)) #ヒトカゲ、君に決めた!
##文字幅を指定する
・format()が入る{}に、以下のように指定すると、文字の幅を指定できる。
・中央に寄せる:{:^10}.format()
・左に寄せる:{:<10}.format()
・右に寄せる:{:>10}.format()
#文字列の分割
##分割してリストに入れる
・分割は__.split("区切る文字(記号)")__でできる。
poke="フシギダネ、ヒトカゲ、ゼニガメ、ピカチュウ"
print(poke.split("、")) #["フシギダネ","ヒトカゲ","ゼニガメ","ピカチュウ"]
##リストを一つの文字列にする(splitの逆)
・__"つなげたい文字(記号)".join(リスト)__でつなげられる。
list=["2020","10","4"]
print("-".join(list)) #2020-10-4
#ファイルの入出力
##ファイルを開く
・プログラム上でファイルを扱いたいとき(例えばWebから取得したデータファイル)は
__open(ファイル名,モード)__で開くことができる。
・モードは、書き込み可能な「"w"(上書き)」「"a"(追記)」、読み込み可能な「"r"」、読み込みも書き込みも可能な「"r+"」がある。
##ファイルを閉じる
・ファイルを開いたら、必ず閉じなければならない(処理が重くなるため)。
・__ファイル.close()__で閉じることができる。
##ファイルに書き込む
・__f.write("内容")__で書き込める。
・"w"モードの場合、この「内容」で上書きされてしまうので注意。
##ファイルを読み込む
・ファイルのモードが"r"または"r+"になっているとき、__f.read()__で読み込める。
・一行だけ読み込みたい時はf.readline()を使う。
##ファイルの開閉を自動で行う
・with open("ファイル名","モード")as f: のように、with文を使えば自動でファイルを閉じてくれるようになる。そのため、実務では普通with文を使ってファイルを扱う。
#read.txtをwith文で読み込む
with open("read.txt","r") as f:
f.read()
#text.txtをwith文で上書き
with open("text.txt","w") as f:
f.write("私はんがょぺです")
#まとめ
・__.format()で文字列の{}に文字を埋め込める。埋め込む文字は辞書型やリスト型でも可能。
・{}のなかで:^10__などとすれば、文字を幅寄せできる。
・__split()__で文字列を分解できる。
・__open()__でファイルが開ける。close()でファイルを閉じ、書き込むのは.write()、読み込むのは__read()__で行える。
・ファイルを扱う時は__with文__の中で行うことで、閉じる必要がなくなるので便利。
今回は以上です。最後まで読んでいただき、ありがとうございました。