我有一个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"]
我在做什么错了?
答案 0 :(得分:3)
您可以使用:
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]
答案 1 :(得分:2)
您可以根据可用的字典创建数据框并重新索引
pd.DataFrame({k:[v] for k,v in col_map.items()}).reindex(df2.columns,axis=1)
AB22e AD34f GQ22c BQ77b GQ00p
0 [a, v] [c, w] [p, l] [a, d] [oo, c]