我正在使用此脚本获取大型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