python - 无法使用 pandas 向 csv 中的每一列添加值
问题描述
我有一个csv
具有以下内容的
AB22e,AD34f,GQ22c,BQ77b,GQ00p
这里它只包含标题。现在到每一列,我想添加一个值
所以我有一本字典,我在其中维护了列名和要添加的值之间的映射。看起来像这样
col_map = {"AB22e": ["a", "v"], "AD34f": ["c", "w"], "GQ22c": ["p", "l"], "BQ77b": ["a", "d"], "GQ00p": ["oo", "c"]}
这就是我向列添加值并将其转储回csv
import pandas as pd
columns = col_map.keys()
df2 = pd.read_csv('test.csv')
for column in columns:
df2[column] = str(col_map[column]).encode('utf-8')
df2.to_csv('test.csv', index=False)
但是没有任何内容添加到csv
. 我的最终输出应该是这样的
AB22e,AD34f,GQ22c,BQ77b,GQ00p
["a", "v"],["c", "w"],["p", "l"],["a", "d"],["oo", "c"]
我究竟做错了什么?
解决方案
您可以使用:
df.append(col_map, ignore_index=True).to_csv('test.csv', index=False)
结果:
AB22e AD34f GQ22c BQ77b GQ00p
0 [a, v] [c, w] [p, l] [a, d] [oo, c]
推荐阅读
- django - Django 用户模型。1 个管理员帐户,1 个客户帐户,使用相同的电子邮件和不同的密码
- java - JavaFX WebView:忽略 setPickOnBounds?
- android - 对于房间中的多列,我应该期望 SELECT DISTINCT 的返回类型是什么?
- javascript - 无法使用 Extendscript 在 Illustrator 中以编程方式创建剪贴蒙版
- c - 为什么这些线程的执行顺序与代码不同?
- python - PyCharm 不会运行 Discord 模块,尽管它已经安装
- vue.js - [Vue 警告]:属性或方法“$v”未在实例上定义,但在渲染期间被引用
- java - Spring Cloud 回退到不同的主机(不是同一项目中的任何其他控制器)
- r - 在 R 中使用自定义数字创建循环
- python - 在合并的 csv 文件中添加附加列