◯ for row in reader: 1行分のデータがリストでrowに代入 ◯ reader.line_num 1から始まる行番号が取得できる ◯ if reader.line_num <= header_num: 3行目までTrue ◯ continue ループをスキップ |
|
['2020/4/1', '株式会社 鈴木商店', '商品C', '1200', '20', '24000']
['2020/4/8', 'サン企画 有限会社', '商品A', '7200', '5', '36000']
['2020/4/14', '株式会社 鈴木商店', '商品A', '7200', '3', '21600']
['2020/4/17', '三和商事 株式会社', '商品B', '3800', '10', '38000']
['2020/4/23', '三和商事 株式会社', '商品C', '1200', '50', '60000']
['2020/4/27', 'サン企画 有限会社', '商品A', '7200', '8', '57600']
['2020/4/30', '株式会社 鈴木商店', '商品B', '3800', '12', '45600']
|
◯ f = open("5月売上.csv", mode="w", newline="") mode "w" :書き込みモード "a" :追加モード(末尾に追加される) newline="" :二重に改行しない ◯ for data in data_list: 変数data_listには、1行分のデータをセットしたリストを要素として持つリストを代入 ◯ writer.writerow(data) カッコ内に1行分のデータをセットしたリストを入力すると、各要素がCSV形式で書き込まれる。writerow()は1行書き込むごとに改行する |
|
売上データ,,,,,
,,,,,
売上日,顧客名称,商品名,単価,数量,計
2020/5/7,サン企画 有限会社,商品B,3800,10,38000
2020/5/8,三和商事 株式会社,商品A,7200,7,50400
2020/5/11,株式会社 鈴木商店,商品C,1200,100,120000
|
|
◯ file.stem 拡張子を除くファイル名を取得 ◯ [row[0], row[1], row[5]] 左から対象行の1列目、2列目、6列目 ◯ datetime.datetime.strptime (row[0], "%Y/%m/%d") 文字列の日付をdatatime型に変換 ◯ int(row[5]) 文字列を整数型に変換 |
|
◯ isinstance(cell.value, datetime.datetime): 値のデータ型と指定したデータ型が一致するとTrueを返す ◯ cell.value.strftime("%Y/%m/%d") datetime型のデータを書式を指定して文字列に変換 %Y/%m/%d :自動的に0埋めされる %Y/%#m/%#d:0埋めされない |
|