ホームページ > バックエンド開発 > Python チュートリアル > PythonがCSVファイルに辞書を書き込む方法の例

PythonがCSVファイルに辞書を書き込む方法の例

coldplay.xixi
リリース: 2020-08-24 16:50:07
転載
6940 人が閲覧しました

PythonがCSVファイルに辞書を書き込む方法の例

[関連する学習の推奨事項: python チュートリアル]

実際のデータ分析プロセスでは、Python を使用してデータ (大量のデータ) を分析および処理します。 )、このデータを最も一般的な辞書などの Python オブジェクトに変換します。

たとえば、現在は数十万のデータがあります (もちろん、通常、そのような大きなデータはデータベースの概念を使用し、CPU メモリで実行されません)。 Excel で一部を計算してみる価値はありますが、これは非現実的です。
Excel は比較的少量のデータの処理にのみ適しており、利便性と速度という利点があります。
それでは、非常に多くのデータがあると仮定します。次に、解析、変換、そして最後に分析と処理をしたいと思います。データを保存して、そのデータを CSV ファイルに書き込むと、要件は満たされます。それでは、データ ディクショナリを CSV ファイルに書き込む方法を見てみましょう。

このプロジェクトを、以前に作成したスコア計算システムに関連付けましょう。辞書の形式で提示された txt ファイルとして作成したことを覚えています。これを提示するために、今すぐ改良しましょう。たとえば、分析されたデータを他の人に提供するには、このデータをアーカイブして保存する必要があります。

まず、CSV ファイルに書き込む関数を作成しました。

def csv_writer():
ログイン後にコピー

ここでは、まずデータのキー (ヘッダー) を取り出します。トラバーサル アルゴリズムについて、何人かの友人が、なぜ手動で追加して記述しないのかと尋ねました。数行コピーするだけで済みますが、よく考えてみると、キーが数十個あれば、直接コピーできます。そうではありません。少し自動化されていないように思えますが、Python はオフィスの問題を解決できます。1 時間もかかる必要はありません。必要なのは 1 分だけです。

a=[]
  dict=student_infos[0]
  for headers in sorted(dict.keys()):#把字典的键取出来
    a.append(headers)
  header=a#把列名给提取出来,用列表形式呈现
ログイン後にコピー

ここのヘッダーはリストです

ここでこのファイルを開いて書き込みの準備をしたので、中のパラメータを一つ一つ説明していきます。

** a は追記という形式で書き込むことを意味します。w の場合は元のファイルのデータをクリアしてから書き込むことを意味します。
newline は空白行がないことを意味します
encoding='utf-8' は、エンコード形式が utf-8 であることを意味します。csv ファイルを Excel で開いたときに中国語の文字化けが発生したくない場合は、省略せずに削除できます。それを書いています。
pycharm の CSV ファイルの文字化けを防ぐため、ここで使用するパラメータのエンコードは utf-8
で、Excel ファイルのエンコード形式は gbk です。この 2 つは互換性がありません。エンコードを追加することをお勧めします。 ='utf-8' パラメータ。
Excel の CSV ファイルが文字化けしたくない場合は、CSV ファイルをメモ帳で開き、ANSI 形式で保存することをお勧めします。 **

with open('成绩更新.csv', 'a', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=header) # 提前预览列名,当下面代码写入数据时,会将其一一对应。
    writer.writeheader() # 写入列名
    writer.writerows(student_infos) # 写入数据
  print("数据已经写入成功!!!")
ログイン後にコピー

ここでの辞書データは、メモリ空間上で解析処理されたデータです。最後の行は、.writerows(dictionary)を使って直接書きます。テーブルヘッダについては、そのまま記述します。わかりました

実際、書くのはとても簡単で、すべての問題が解決されます。


以上がPythonがCSVファイルに辞書を書き込む方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート