python-3.x - 如何将转换逻辑应用于字典中给定键的值
问题描述
对 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)
在这之后我迷路了。
解决方案
将每一列转换为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)
推荐阅读
- python - 简单的 Python 类不显示/打印任何东西
- angular8 - 我们如何应用点击 ag-grid 中的图标(角度 8)?
- git - 天蓝色 devops 存储库 URL
- tfs - 使用 VssConnection 和用户名/密码连接到 Azure DevOps 和 TFS
- php - MySQL添加时间到时间戳
- node.js - 电子禁用 CTRL+A 键盘快捷键
- javascript - 映射样式的 JSX 输入元素的行为不符合预期
- c++ - VK_NULL_HANDLE 始终为 0;为什么不是 nullptr?
- qt - QML:在非兄弟姐妹上显示对象
- filemaker - 如何过滤要在“发送电子邮件”脚本步骤中使用的电子邮件地址