首页 > 解决方案 > 无法使用 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"]

我究竟做错了什么?

标签: pythonpandascsv

解决方案


您可以使用:

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]

推荐阅读