首页 > 解决方案 > 如何将转换逻辑应用于字典中给定键的值

问题描述

对 Python 非常陌生,正在尝试学习基础知识……来自特定的 SQL 背景。

我不明白如何遍历字典并将转换应用于给定键(列)的值。例如,如果第 2 列标题是“Col2”并且所有值都在其中。如何将 12 添加到第 2 列中的每个值。

CSV文件内容:只是一个例子......

Col1 Col2 Col3  
Name 1 11  
Age 2 22  
Location 3 33  
State 4 44

代码:

import csv
import pprint


reader = csv.DictReader(open(r'file1.csv'))
result = {}
for row in reader:
    for k, v in row.items():
        result.setdefault(k, []).append(v)

在这之后我迷路了。

标签: python-3.x

解决方案


将每一列转换为int然后添加您想要的值,阅读下面的评论以了解正在发生的事情,

container = list() # use it later to modified modified row
with open("d:/a.csv", "r") as csv_file:
    next(csv_file) # this skip heading (first row)
    for row in csv_file:
        row = row.rstrip().split(",") #this gives you a row,
        row[1] = int(row[1]) + 12 #convert column1 of row in int and add 12
        container.append(row)

print(container)

推荐阅读