python - 通过在列标题中查找唯一值来更新 csv 行中的“单元格”?
问题描述
如果我有一个像这样的简单 csv:
name,age,color,team,completed
tim,34,green,5
jim,31,blue,6
kim,33,yellow,5
我想在python中(如果需要第三方模块,pandas很好)找到一个id,所以在这种情况下是名称(行),然后用YES更新'完成'下的值。名称将始终是唯一的。工作表的顺序可能并不总是相同,但标题名称总是相同的。
有没有办法在 name=="Jim" 和 'completed' 找到单元格坐标?
解决方案
晚上好,
导入 CSV
虽然我知道您可能只希望使用核心 Python 模块,但我建议使用 Pandas 来完成这项任务。
import pandas as pd
df = pd.read_csv('csv_file.csv')
条件变量赋值
一种方法是使用.loc[row, column]
返回行df['name'] == 'jim'
并将新列“完成”分配给“是”。列name
不等于“jim”的行将被设置为缺失值。
df.loc[df['name'] == 'jim', 'completed'] = 'YES'
推荐阅读
- python - 无法跨多个模块导入 re
- flutter - 如何在 Column 中对齐 Widget?
- elixir - 在 Elixir 宏中获取当前范围的文档
- java - findViewById 在 Fragment 中找不到 ImageButton
- spring - Spring Data MongoDB XML 配置无法针对 Mongo 数据库进行身份验证
- shell - 在 Windows 上更改 Git Bash 的默认驱动器
- node.js - Sequelize, Typescript - typescript 对模型的 getter 方法出错
- c# - 在 Task 中将当前模型转换为 JSON
MVC.NET Core 应用程序中的 OnPostAsync 方法 - ios - 从 Firestore 数据库查询和排序以前的快照
- node.js - PM2 console.log 异步?