【Python】CSVへ書き込みをする:自動化で作業効率アップ

Python_CSVにリスト書き込み_アイキャッチ Python

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冊です!