PC引っ越し・ゲーム移行ならToDo PCTrans Free

一次元配列をサクッとCSVに保存していきたいので、そのスクリプトをサクッと教えて下さい!

…という方のために、備忘録を残しておきます。

 

ということで、こんにちは!

Pythonで扱った一次元配列をそのままシンプルにCSVに放り込んで保存したいというタイミングが時々あります。

このような感じで、一次元配列を改行ありでCSVに保存する方法をまとめました。

 

  この手のデータをCSVに保存したい場合にPandasを使う方法もあるようですが、ここではPandasなし、CSVのみで実現する方法を解説しています。

 

【コード】一次元配列をCSVに改行入りで保存する方法

ということで、そのコードがこちら。

import csv

with open(csvpath, "w", encoding="utf_8_sig") as f:
    writer = csv.writer(f, lineterminator='\n')
    for i in data:
        writer.writerow([i])

 

「csvpath」に保存する先のCSVパスとファイル名を、

「data」には一次元配列を入れています。

【解説】どういう処理をしているか

それほど難しい処理ではないですが、一応解説します。

import csv

CSVに書き込むので、まずは「import csv」が必要です。

 

with open(csvpath, "w", encoding="utf_8_sig") as f:
    writer = csv.writer(f, lineterminator='\n')
    for i in data:
        writer.writerow([i])

for文を使って、data配列の中のデータを一行ずつ「writerow」で書き込んでます。

ここの値の指定がwriterow(i)ではなくwriterow([i])にしておく必要があります。

CSVに書き込む場合、通常は二次元配列の形でデータを書き込む必要があるため、[i]と指定することで、擬似的(?)に二次元配列扱いで、CSVに1行ずつ書き込んでいくという動きをしています。

 

ちなみにwriterow(i)と記述した場合、こんな感じで1文字ごとにカンマがついてしまう、摩訶不思議な出力結果になってしまいます。

PythonでCSVを扱う際に、指定を間違えるとよく出てくる出力結果ですね。

まとめ

以上、Pythonで一次元配列をCSVに保存する簡単な方法でした。

 

基本コピペでOKですが、もちろん変数名は差し替えて下さい。

また、これを関数化しておけば、CSV保存を気軽に行えるようになるので、便利かもしれません。

 

以上、ご参考までに!

それでは!