我正在使用此腳本獲取大型csv文件,並通過第一列中的唯一值將其分開,然後保存新文件。我還想在每個文件的末尾添加3列,這些列包含基於前一列的計算結果。這些列也會有標題。我當前的代碼如下所示在python中將包含方程的列添加到csv文件中
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)
這哪裏是代碼嘗試添加3列,以及它具體是不是工作? –
我沒有添加代碼來添加3列,因爲我無法弄清楚如何。從搜索有很多解釋如何添加行但不列。我所能做的就是通過獨特文本拼接原始文件 – Charlez