我从数据库中提取数据并写入新的Excel文件以获取报告。我的问题是,最后一列数据的数据用逗号分隔,需要分成不同的列。
作为一个例子,我有以下数据:
Name Info
Mike "a, b, c, d"
Joe "a, f, z"
我需要将这些字母分成不同的列。 a,b,s等不必排队,以便每个字母都在"正确"柱。它们只需要分成不同的列。
我在Python中这样做。我愿意使用其他像Pandas这样的库。将包括其他列,而不仅仅是两列。我做了一个简单的例子。
感谢任何帮助。
答案 0 :(得分:4)
IIUC:
df.assign(**df['Info'].str.split(',', expand=True).add_prefix('Info_'))
输出:
Name Info Info_0 Info_1 Info_2 Info_3
0 Mike a, b, c, d a b c d
1 Joe a, f, z a f z None
注意:您也可以使用join
代替assign
(使用@coldspeed \s*来区分空格):
df.join(df['Info'].str.split('\s*,\s*', expand=True).add_prefix('Info_'))
答案 1 :(得分:2)
来自pandas str.split
df=pd.concat([df,df.Info.str.split(',',expand=True)],1)
df
Out[611]:
Name Info 0 1 2 3
0 Mike a, b, c, d a b c d
1 Joe a, f, z a f z None