Python でリストを CSV に書き込む方法

Python でリストを CSV に書き込む方法

Python リストと格闘していて、それらをきちんとした CSV ファイルとして保存する方法を疑問に思っているなら、ここが正しい場所です。Python で最も一般的なタスクの 1 つは、カンマ区切りのファイルにリストを書き込むことです。今日は、あなたを CSV ファイル作成のプロに変えてみましょう。

Python で CSV にリストを書き込むには、CSV ファイルの読み取りと書き込み用に特別に設計された csv という組み込みモジュールを使用できます。モジュールの csv.writer クラスは、単純なネストされたリストを CSV ファイルに書き込むための関数を提供します。

同じ結果を得る他の方法には、外部の Pandas または NumPy モジュールをインストールして使用することが含まれます。

この記事では、概念を説明し、開始するために必要なすべてのコード例を使用してプロセスを段階的に説明します。

さあ行こう!

目次

Python のリストとは何ですか?

Python でリストを CSV に書き込む方法

Python のリストは、複数の項目を 1 つの変数に格納するために使用される組み込みデータ構造です。

Python のリストは次のとおりです。

  • 注文(ゼロから開始)。

  • 可変 (変更可能)。

  • 重複した値を保存できる。

リストは角括弧 [] の間に値を入れることで定義され、項目はカンマで区切られます。リスト内の項目は、数値、文字列、その他のリストなど、任意のデータ型にすることができます。

単純なリストを作成する例を次に示します。

products = [“t-shirts”, “hoodies”, “jeans”]

Python のリストのリスト

リストのリストは、入れ子リストとも呼ばれます。これらは、他のリストを要素として含むリストです。

これらは、構造化データを行と列で表すために Python でよく使用されます。これらは、関連するデータをグループ化する必要があるシナリオでよく使用されます。

ここでは、製品、価格、売上を表すネストされたリストを作成する例を示します。

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

CSV ファイルと Python の CSV モジュール

CSV ファイルは、表形式のデータを単純なファイル形式で表します。ファイル内の各行は、テーブル内の行に対応します。行 (または行) の各値はカンマで区切られます。これが、この形式が「カンマ区切り値」と呼ばれる理由です。

CSV 形式で製品、価格、売上を表すファイルは次のようになります。

  • Tシャツ、9.99、342

  • パーカー、24.99、118

  • ジーンズ、29.99、612

Python でリストを CSV に書き込む方法

csvモジュールは、CSV 形式でデータを読み書きするためツールを提供する組み込みの Python モジュールです。そのシンプルさと効率性により、特に便利です。

csvモジュールをインポートすると、 csv.writer()クラスにアクセスできるようになり、区切り文字で区切られた文字列をファイル オブジェクトに書き込むことができるライター オブジェクトを作成できるようになります。

さて、基本を説明したので、次のセクションで Python を使用して単純なリストを CSV に書き込む方法を見てみましょう。

Python で単純なリストを CSV に書き込む方法

最初に学ぶテクニックは、次のような単純な (ネストされていない) リスト ファイルに関するものです。

  • Tシャツ

  • パーカー

  • ジーンズ

Python でリストを CSV に書き込む方法

リストを CSV ファイルに書き込む大まかな手順は次のとおりです。

  1. csvモジュールをインポートします。

  2. Python リストを作成します。

  3. CSV ファイルを書き込みモードで開きます。

  4. CSV ライターオブジェクトのwriterow()関数を使用します。

  5. CSV ファイルを保存して閉じます。

writerow ()関数は複数の行、つまりすべてのデータをファイルに書き込みます。詳細なコメントを含むコードは次のとおりです。

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

コンテキストマネージャーの使用

ファイルを操作する「with」メソッドに慣れていない方のために説明しておくと、これはファイル リソースを管理するコンテキスト マネージャーを使用する手法です。

たとえば、CSV ファイルの書き込みに使用すると、with ステートメントが終了するとファイルは自動的に閉じられます。

リストのリストを CSV に書き込む方法

リストのリストの場合、各内部リストはファイル内の CSV 行である必要があります。CSV データは次のようになります。

Python でリストを CSV に書き込む方法

大まかな手順は前のセクションと似ていますが、writerow()の代わりにwriterows()関数を使用する点が異なります。

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

この 2 番目の例では、各内部リストがファイル内の個別の行として書き込まれます。

csvモジュールを使用すると、データ構造を列挙またはループして行ごとに書き込む必要がなくなることに注意してください。

次に、既存の CSV ファイルにデータを追加する方法を見ていきます。

既存の CSV ファイルにデータを追加する方法

Python でリストを CSV に書き込む方法

既存の CSV ファイルにデータを追加するには、次の手順に従います。

  1. csvモジュールをインポートします。

  2. open()コンテキスト マネージャーを使用して、CSV ファイルを追加モード ('a') で開きます。

  3. 追加するデータを含む新しいリストを作成します。

  4. 開いたファイルを渡してcsv.writer()オブジェクトを作成します。

  5. csv.writer()オブジェクトを使用して、新しいリストを CSV ファイルに書き込みます。

以下は、ネストされたリスト (1 行) を既存のファイルに追加する例です。

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

さまざまなプラットフォームで CSV ファイルが適切にフォーマットされるように、ファイルを開くときに必ずnewline=”を含めてください。

次のセクションでは、 DictWriterクラスを使用して CSV ファイルに書き込む方法について説明します。

DictWriter を使用して CSV ファイルに書き込む方法

Python でリストを CSV に書き込む方法

ここまでは、CSV ファイルにリストを書き込む方法を学習しました。ただし、Python には、CSV ファイルに書き込むことができる辞書などの他のデータ構造もあります。

DictWriter ()クラスもcsvモジュールの一部です。これはWriter()クラスに似ていますが、辞書データを処理します。

以下に例を示します。

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Python の高度な CSV テクニック

csvモジュールを使用することは、Python リストを CSV ファイルとしてエクスポートする唯一の方法ではありません。

このタスクの機能を提供する 2 つの一般的なライブラリは、PandasNumPyです。

1. Pandas でデータをエクスポートする方法

Python でリストを CSV に書き込む方法

Pandas は、データ操作と分析に広く使用されている Python ライブラリです。

Python リストを CSV ファイルとして保存するには、以下に示すように、リストから pandas DataFrame を作成し、to_csv()メソッドを使用します。

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

データに非 ASCII 文字が含まれている場合は、エンコード パラメータを「utf-8」などの適切な値に設定する必要がある場合があります。

2. NumPy を使用してリストを CSV に保存する方法

検討する価値のあるもう 1 つのライブラリは、配列と行列の操作をサポートするNumPyです。

NumPy は、データを CSV ファイルに保存する便利な方法としてnp.savetxt()関数を提供します。

以下は、NumPy を使用してリストを CSV ファイルに保存する方法を示す例です。

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

savetxt()パラメータの内訳は次のとおりです。

  • 区切り文字:フィールド区切り文字を指定します

  • fmt パラメータ:保存されるデータの形式を示します。

  • %s:文字列値のプレースホルダー

  • header : 列ヘッダーのリスト

  • コメント:出力ファイル内のコメントを開始する文字を制御します。

ファイルに書き込む前にデータをクリーンアップする方法

データをテキスト ファイルに書き込む前に、データをクリーンアップすることをお勧めします。このビデオでは、必要なテクニックを説明します。

最終的な考え

Python で CSV ファイルにリストを書き込むことは、データを保存および共有するための簡単かつ効果的な方法です。Python の組み込みcsvモジュールを使用してこのタスクを実行する方法を学習しました。

これで、Python リストの作成、csvモジュールのインポート、CSV ファイルを開いて、csv.writerを使用してリストを CSV ファイルに書き込む方法に慣れてきました。

また、リストのリストを CSV ファイルに書き込むより複雑なシナリオについても学習しました。これにより、表形式のデータを保存できるようになります。

プログラミングのすべてのことと同様、練習すれば完璧になるということを忘れないでください。したがって、この新たに得た知識を取り入れて試してみて、それがさまざまなデータ セットやプロジェクトのニーズでどのように機能するかを確認してください。

これは Python の氷山の一角にすぎません。Python の広大な世界には探索すべきことがまだたくさんあるので、ここでやめないでください。でも今日だけは、自分の背中を押してあげてください。リストから CSV への変換という猛獣をうまく飼いならすことができました。


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて