3

そのため、Python で csv モジュールを使用して既存の行と列にデータを追加しようとしましたが、各行の特定の列のみを追加しました。例として、既存の csv ファイルに次の内容があるとします。

id, name, city, age
1, Ed,, 34
2, Pat,, 23

基本的に各人の市区町村が欠落しているので、各行をその人の市区町村で更新したいと思います。ただし、 writerow メソッドは、csv ファイル内の既存のデータを置き換えるだけのようです。開いているファイルを追加モードに変更すると、データが新しい行に追加されるだけです。既存のデータをスキップして、都市のみを各行に追加する方法はありますか?

ありがとう

4

1 に答える 1

3

同様のことを試みている別の開発者に関する投稿があります-csvファイルの特定のレコードを更新します- http://www.dreamincode.net/forums/topic/196479-editing-a-csv-file/

彼の投稿のコード スニペットは、csv ファイル内の特定の「位置」(セル) (Excel の特定のセルなど) を検索し、そのセルを新しい情報で更新する方法を示しています。あなたの場合の特定のユーザーの都市。

したがって、彼のサンプル コードをエミュレートすると、目的の結果を得ることができます。

ただし、「csv ファイル内のセルを更新する」などの作業を常に行っている場合は、データベースを使用して情報を保存することをお勧めします。最初のcsvから最初のデータセットをインポートし、選択したデータベースへの更新呼び出しを介してさらに更新を行います。orm を提供するライブラリを使用して、データベースと対話します。:-)

sqlite3 でさえ、csv ファイル内の特定のセルを更新しようとするよりも優れています。

于 2012-04-15T05:41:14.623 に答える