Pythonで、CSVへ書き込みする方法をご紹介します。
複数リストの書き込みや、指定行への書き込み方法を記載しています。
ぜひ、お試しください。
CSVへ書き込みをする
以下のコードを実行すると、For文を使用してCSVファイルにリストを書込みします。
import csv
My_list = [
["商品名", "数量"],
["メロン", "100"],
["リンゴ", "50"],
["キウイ", "80"],
]
f = open("C:/Users/xxx/Desktop/test/テスト.csv", mode="w", newline="")
writer = csv.writer(f)
for data in My_list:
writer.writerow(data)
f.close()
コード実行後
エクセルシートのA列とB列にリストを1行ずつ書き込みします。
[f] にて、指定しているCSVが存在しない場合は、新規ファイルを作成して書き込みします。
また、同名ファイルが存在する場合は、上書き保存します。
CSVへ書き込みをする(追記)
以下のコードを実行すると、末尾からListを書き込みします。
import csv
My_list = [
["イチゴ", "40"],
["オレンジ", "200"],
]
f = open("C:/Users/xxx/Desktop/test/テスト.csv", mode="a", newline="")
writer = csv.writer(f)
for data in My_list:
writer.writerow(data)
f.close()
コード実行後
CSVの最終行からリストを書き込みします。
[mode=”a”] とし、追記モードにします。
CSVへ書き込みをする(行指定)
以下のコードを実行すると、指定行にリストを書き込みします。
import csv
Change_list = [['スターフルーツ', '50']]
Change_Row = 3
#csvファイルを指定
MyPath = 'C:/Users/xxx/Desktop/test/テスト.csv'
#csvファイルを読み込み
rows = []
with open(MyPath) as f:
reader = csv.reader(f)
for row in reader:
rows.append(row)
#csvファイルを書き込み
i = 1
f = open(MyPath, mode="w", newline="")
writer = csv.writer(f)
for data in rows:
if i == Change_Row:
for list in Change_list:
writer.writerow(list)
else:
writer.writerow(data)
i = i + 1
f.close()
コード実行後
CSVの指定行にリストを書き込みします。
[Change_Row] で指定した行(3行目)に、
[Change_list] のリストに書き換えします。
この記事がお役に立ちますと幸いです。
・【Python】エクセルを自動処理する方法まとめ
【Python】エクセル処理を自動化:超便利55選
...
「Excel×Python最速仕事術」
Excelの面倒な操作はパソコンにやらせよう
実践的な例題で、業務に即したプログラムを紹介
無駄な残業をするのはもうたくさんな方にオススメの1冊です!
リンク