将包含方程式的列添加到 python 中的 csv 文件

Adding columns that contain equations to a csv file in python

我正在使用此脚本获取一个大型 csv 文件并在第一列中按唯一值将其分隔,然后保存新文件。我还想在每个文件的末尾添加 3 列,其中包含基于前几列的计算。这些列也将具有 headers。我现在的代码如下

import csv, itertools as it, operator as op

csv_contents = []
with open('Nov15.csv', 'rb') as fin:
  file_reader = csv.DictReader(fin)   # default delimiter is comma
  print file_reader
  fieldnames = file_reader.fieldnames # save for writing
  for line in file_reader:            # read in all of your data
    csv_contents.append(line)         # gather data into a list (of dicts)

# input to itertools.groupby must be sorted by the grouping value 
sorted_csv_contents = sorted(csv_contents, key=op.itemgetter('Object'))

for groupkey, groupdata in it.groupby(sorted_csv_contents, key=op.itemgetter('Object')):
    with open('slice_{:s}.csv'.format(groupkey), 'wb') as gips:
        file_writer = csv.DictWriter(gips, fieldnames=fieldnames)
        file_writer.writeheader()         
        file_writer.writerows(groupdata)

如果您的意见属实,您可能会这样做(对于虚列 col1col2 和计算 col1 * col2:

for line in file_reader:  # read in all of your data
    line['calculated_col0'] = line['col1'] * line['col2']
    csv_contents.append(line)  # gather data into a list (of dicts)