Open otaniteruaki opened 3 years ago
ファイルは「開く」「読み込む」「閉じる」の手順で行う 1.開く:f = open(ファイルパス, "r", encoding="utf-8") 2.読み込む:f.read(() 3.閉じる:f.close()
例: f = open("input/donation_202004.txt", "r", encoding="utf-8") donations = f.read() f.close() print(donations)
for donation in donations: print(donation)
f = open("input/donation_202004.txt", "r", encoding="utf-8") donations = f.readlines() f.close()
for donation in donations: print(donation.strip()) #改行を削除するために、「.strip()」を使用する
※文字列の後ろに .strip() をつけると末尾の改行文字を除去できる ※数値は文字列として読み込まれるので、計算するときは数値に変換する→ .int()
with open('input/menu.csv', encoding='utf-8') as f:
# 開いた内容を読み込む
contents = f.read()
# 表示する
print(contents)
withを利用する場合、with以降はif文と同じようにインデントをつけてブロックにします。 このwith文のブロックが終わるとPythonが自動でファイルを閉じてくれますので、 close() メソッドを書く必要がありません。
with open('output/output.txt', 'w', encoding='utf-8') as f:
f.write('hello, world\n')
print('書き込み完了')
with open('output/output.txt', 'a', encoding='utf-8') as f:
予約・利用状況ファイル input/books.csv の各行にカンマ(,)区切りで 日付(yyyy-mm-dd)、 予約者名、 会議室の利用目的 の順に入力されています。 各行は日付順に並べられています。
input/books.csv:
2015-01-02,後藤拓也,Staff mtg
2015-01-03,丸山貞子,Python-勉強会
2015-01-04,平野幸子,PHP-勉強会
2015-01-06,平野幸子,PHP-勉強会
2015-01-07,原田麻美,Python-勉強会
2015-01-08,横山久美子,その他
〜以下、省略〜
会議室の利用目的が、Python-勉強会の行のみをファイル'output/book_python.csv'に出力する
output_rows = []
with open('./input/books.csv', encoding='utf-8') as f:
for row in f:
columns = row.strip().split(',')
purpose = columns[2] # 会議室の利用目的
if purpose == 'Python-勉強会':
output_rows.append(row)
# ファイル'output/book_python.csv'へ書き込む
with open('output/book_python.csv', 'w', encoding='utf-8') as wf:
for row in output_rows:
wf.write(row)
課題1:簡単な検索ツールの作成
説明動画:https://youtu.be/fFaErYaPIdk
この課題はif文などを使用してリストから特定要素を検索して取得するためのものです。 この課題がクリアできれば主要構文であるif for list は習得できたといえるでしょう。
課題
1.入力したキーワードで、キャラクターリスト(source)を検索して、存在すれば存在する旨を、存在しなければ存在しない旨をPrint文で表示してみましょう 2.1に追加して結果が存在しなかった場合に、キャラクターリスト(source)に追加できるようにしてみましょう 3.2に追加してキャラクターリスト(source)をCSVから読み込んで登録できるようにしてみましょう 4.3に追加してキャラクターリスト(source)をCSVに書き込めるようにしてみましょう
予備知識
input()とは?
input("好きな文字を入力してください") のように、input() 関数の引数に文字列を指定すると、入力フィールドの前に表示されます。入力してもらいたい文字の説明などを指定しましょう。このような文字列は、プロンプト と言います。
使い方
.format()とは?
以下のように文字列の中に、波かっこ{}で囲まれた「置換フィールド」を埋め込み、format( )メソッドの引数で{}の部分を置換します。
使い方
.if name == "main":
直接そのスクリプトを実行した時だけ処理される。 (importなどで、モジュールとして直接以外で使用する場合は処理が実行されない)