[関連する学習の推奨事項: 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 サイトの他の関連記事を参照してください。