web-dev-qa-db-ja.com

Python)を使用して既存のCSVファイルに列を追加します

Pythonを使用して既存のcsvファイルに新しい列ヘッダーと値を追加しようとしています。私が調べたすべてのものは、最後の列の最後の行にヘッダーを追加します。これが私の結果を本質的にしたいものです。

Header Header2 Header3 NewHeader Value Value2 Value3 NewValue

私が現在得ているのはこれです:

Header   Header2   Header3
Value    Value2    Value3**NewHeader
NewValue`

これは私のコードです:

import csv
  with open('filename.csv', 'a') as csvfile:
  fieldnames = ['pageviewid']
  writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

  writer.writeheader()
  writer.writerow({'pageviewid': 'Baked'})
  writer.writerow({'pageviewid': 'Lovely'})
  writer.writerow({'pageviewid': 'Wonderful'})
3
Schviteza

最も簡単な方法は、出力ファイルに書き換えることです。

import csv
reader = csv.reader(open('filename.csv', 'rb'))
writer = csv.writer(open('output.csv', 'w'))
headers = reader.next()
headers.append("Brand New Awesome Header")
writer.write(headers)
for row in reader:
    row.append(new data for my new header)
    writer.writerow(row)
1
Chris Kenyon