split/join

CSVの行の分割と連結

言語リファレンス

str.split(sep=None, maxsplit=- 1)

CSVファイルから読み込んだ行のリスト化

list_line = linedata.replace('"','').replace('\n','').split(',')
  • 文字列を囲うダブルクォートの削除
  • 改行文字の削除
  • カンマでカラムを分割

リストからCSVファイル行の連結

writeklinesでファイルに出力できるリストにAppendする。

list_output.append(",".join(list_line)+'\n')
  • カンマでリストを連結
  • 行の最期に改行を追加

for文

言語リファレンス

for 文

enumerate

for文でリストから1つずつ取り出して処理をする場合、カウンターを自動的に作ることができる。

標準ライブラリー

enumerate(iterable, start=0)

サンプルコード

for i, line in enumerate(list_input, 1):

list_inputから1つずつlineに読み込んで処理をするが、インデックスを1から開始するように指定している。インデックスを指定しない場合のDefaultは0。

open/close

言語リファレンス

os.open(path, flags, mode=0o777, *, dir_fd=None)

ファイルオープン(Read)

file1 = open('filename', 'r', encoding='utf-8')

ファイルオープン(Write)

file2 = open('filename', 'w', encoding='utf-8')

ファイルクローズ

file1.close()
file2.close()

ファイル全体の読み込み

string = file1.read()

1行ずつ読み込み

line = file1.readline()

Forループで複数行を読み込み

for line in file1: 
    print(line, end='')

すべての行をリストに読み込み

list_file = file1.readlines()
list_file = list(file1)

文字列(Byte)からファイルへ書き出し

length_of_string = file1.write(string)

書き出した文字の長さが戻される。

関数(def)

チュートリアル

関数を定義する

定義

def xxxx(parm1,parm2,parm3):
  • カッコ内に引数を記入できるが、アドレスで受け渡される。Positional Parameterとして受け渡す方が間違いがない。
  • 関数内で引数を変更するのは、変数がミュータブルとイミュータブルで挙動が異なり、イミュータブルの場合変更できないので避けるようにする。

戻り値

return 8
  • 上記のように”return”で変数や定数を返すか、globalで定義した上位の変数を上書きして戻り値とする。
  • 関数内で引数を変更するのは、変数がミュータブルとイミュータブルで挙動が異なり、イミュータブルの場合変更できないので避けるようにする。