目次
CSV 書き込み
最初の書き込み方法 (ライター オブジェクトの作成による)
ホームページ バックエンド開発 Python チュートリアル Python知識まとめ:csvファイルの書き込みと読み込み

Python知識まとめ:csvファイルの書き込みと読み込み

Apr 02, 2022 pm 12:53 PM
python

この記事では、python に関する関連知識を提供します。主に csv ファイルの書き込みと読み取りに関連する問題を紹介します。CSV は一般的に使用されるテキスト形式で、数値や文字などのテーブル データを保存するために使用されます。皆様のお役に立てれば幸いです。

Python知識まとめ:csvファイルの書き込みと読み込み

推奨学習: python チュートリアル

CSV (カンマ区切り値)、つまりカンマ区切り値 (別名カンマ区切り値)区切り文字はカンマ以外でもよいため、文字で区切られた値として、数値や文字を含む表形式のデータを格納するためによく使用されるテキスト形式です。多くのプログラムは、データを処理するときに csv 形式のファイルに遭遇します。 Python には、csv ファイルの読み取りを処理するために特別に使用される csv モジュールが付属しています。

CSV 書き込み

ライター オブジェクトを作成することで、主に 2 つのメソッドが使用されます。 1 つは writerow で、行を書き込みます。もう 1 つは、複数行を書き込む writerows です。

DictWriter を使用して、辞書を使用してデータを書き込みます。

最初の書き込み方法 (ライター オブジェクトの作成による)

について話しましょう。最初の書き込み方法: ライター オブジェクトを作成して書き込みます (一度に 1 行ずつ書き込みます)
手順 : 1. データとテーブル ヘッダーの作成 2. ライター オブジェクトの作成 3. ヘッダーの書き込み 4. トラバース

import csv

person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8') as file_obj:
    # 1:创建writer对象
    writer = csv.writer(file_obj)
    # 2:写表头
    writer.writerow(header)
    # 3:遍历列表,将每一行的数据写入csv
    for p in person:
        writer.writerow(p)
ログイン後にコピー
書き込み後、現在のディレクトリに person.csv ファイルが表示されますので、右クリックしてエクスプローラーで表示 person を開きます。 csv で表示

Python知識まとめ:csvファイルの書き込みと読み込み
Python知識まとめ:csvファイルの書き込みと読み込み
Python知識まとめ:csvファイルの書き込みと読み込み 開いてみると、書き込まれたデータが途中で改行されていることがわかります。

驚くべき : では、この問題はどうやって解決すればいいのでしょうか?
ハッカー : とても簡単です データを書き込むときにパラメータを追加するだけです
newline='' 順番に改行を防ぐために と書きます。 修正コードは以下のとおりです。

import csv# 数据person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 创建对象
    writer = csv.writer(file_obj)
    # 写表头
    writer.writerow(header)
    # 遍历,将每一行的数据写入csv
    for p in person:
        writer.writerow(p)
ログイン後にコピー

Python知識まとめ:csvファイルの書き込みと読み込み ✅ライターオブジェクトを作成する(複数行を一度に書く)

手順 : 1. データとヘッダーの作成 2. Writer オブジェクトの作成 3. ヘッダーの書き込み 4. writerows に処理したいデータを渡す

import csv# 数据person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 创建对象
    writer = csv.writer(file_obj)
    # 写表头
    writer.writerow(header)
    # 3.写入数据(一次性写入多行)
    writer.writerows(person)
ログイン後にコピー
書き込み結果は次のようになります。

Python知識まとめ:csvファイルの書き込みと読み込み

2 番目の書き込み方法 (DictWriter を使用して辞書を使用してデータを書き込む)

注意事項 : 辞書を使用して書き込む場合、渡されるデータ形式に注意してください辞書である必要があります 辞書でない場合は、エラーが報告されます

AttributeError: 'tuple' object has no attribute 'keys'

ステップ 1 .データとヘッダーを作成します ( データは辞書形式である必要があります ) 2. DictWriter オブジェクトを作成します 3. ヘッダーを書き込みます 4. データを書き込みます

import csv# 数据person = [
    {'name': 'xxx', 'age': 18, 'height': 193},
    {'name': 'yyy', 'age': 18, 'height': 182},
    {'name': 'zzz', 'age': 19, 'height': 185},]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 1.创建DicetWriter对象
    dictWriter = csv.DictWriter(file_obj, header)
    # 2.写表头
    dictWriter.writeheader()
    # 3.写入数据(一次性写入多行)
    dictWriter.writerows(person)
ログイン後にコピー

Python知識まとめ:csvファイルの書き込みと読み込み

Reading csv

Reading through Reader()
import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.创建reader对象
    reader = csv.reader(file_obj)
    print(reader)
ログイン後にコピー

直接印刷すると、csv.reader オブジェクトが返されます。この場合、リスト

修正されたコードは次のとおりです:

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.创建reader对象
    reader = csv.reader(file_obj)
    # 2.遍历进行读取数据
    for r in reader:
        print(r)
ログイン後にコピー
読み取り結果は次のとおりです。

['name', 'age', 'height']['xxx', '18', '193']['yyy', '18', '182']['zzz', '19', '185']
ログイン後にコピー
リスト内の特定の値を出力したい場合は、インデックス印刷を使用できます。

print(r[0])
ログイン後にコピー
name
xxx
yyy
zzz
ログイン後にコピー

Read through dictreader()
import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.创建reader对象
    dictReader = csv.DictReader(file_obj)
    # 2.遍历进行读取数据
    for r in dictReader:
        print(r)
ログイン後にコピー

戻り結果は次のとおりです。

OrderedDict([('name', 'xxx'), ('age', '18'), ('height', '193')])OrderedDict([('name', 'yyy'), ('age', '18'), ('height', '182')])OrderedDict([('name', 'zzz'), ('age', '19'), ('height', '185')])
ログイン後にコピー
このとき、特定の値を取得したい場合は、値を見つけるためのキーを指定する必要があります

print(r['name'])
ログイン後にコピー
xxx
yyy
zzz
ログイン後にコピー
上記は、Python の基本チュートリアルでの CSV ファイルの書き込みと読み取りです。改善に関する提案がある場合は、コメント領域にメッセージを残してください。ああ~


推奨学習:

Python チュートリアル #

以上がPython知識まとめ:csvファイルの書き込みと読み込みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

golang 関数のデバッグと分析の完全ガイド golang 関数のデバッグと分析の完全ガイド May 06, 2024 pm 02:00 PM

golang 関数のデバッグと分析の完全ガイド

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

評価関数の保存方法 評価関数の保存方法 May 07, 2024 am 01:09 AM

評価関数の保存方法

See all articles