在创建聚合结果之前,将每个input.csv读入字典可能更有效。在
下面是一个读取每个文件并将列存储在字典中的解决方案,其中的键是Product_id。我假设每个Product_ID值都存在于每个文件中,并且包含头。我还假设除了产品标识之外,文件中没有重复的列import csv
from collections import defaultdict
entries = defaultdict(list)
files = ['names.csv', 'costs.csv', 'descriptions.csv']
headers = ['Product_ID']
for filename in files:
with open(filename, 'rU') as f: # Open each file in files.
reader = csv.reader(f) # Create a reader to iterate csv lines
heads = next(reader) # Grab first line (headers)
pk = heads.index(headers[0]) # Get the position of 'Product_ID' in
# the list of headers
# Add the rest of the headers to the list of collected columns (skip 'Product_ID')
headers.extend([x for i,x in enumerate(heads) if i != pk])
for row in reader:
# For each line, add new values (except 'Product_ID') to the
# entries dict with the line's Product_ID value a

该博客介绍了如何使用Python高效地将多个CSV文件中的数据按Product_ID聚合,并存储到一个新的CSV文件中。通过创建一个默认字典来存储每个Product_ID对应的所有列,然后遍历文件并写入结果到'result.csv',实现了数据的合并。文章强调了处理过程中对头文件的处理和如何跳过Product_ID列。
最低0.47元/天 解锁文章
3968

被折叠的 条评论
为什么被折叠?



