python用逗号将文本分隔到不同的列中

Eri*_*eve 3 python excel pandas

我正在从数据库中提取数据并写入新的 Excel 文件以生成报告。我的问题是最后一列数据有用逗号分隔的数据,需要分成单独的列。

例如,我有如下数据:

Name  Info
Mike  "a, b, c, d"
Joe  "a, f, z"
Run Code Online (Sandbox Code Playgroud)

我需要将这些字母分成单独的列。a、b 等不必排列,以便每个字母都在“正确”列中。它们只需要分成单独的列。

我正在用 Python 做这件事。我愿意使用 Pandas 等其他库。将包含其他列,而不仅仅是两列。我做了一个简单的例子。

任何帮助表示赞赏。

Sco*_*ton 5

IUC:

df.assign(**df['Info'].str.split(',', expand=True).add_prefix('Info_'))
Run Code Online (Sandbox Code Playgroud)

输出:

   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
Run Code Online (Sandbox Code Playgroud)

注意:您也可以使用join代替assign(使用@coldspeed \s*来消除空格):

df.join(df['Info'].str.split('\s*,\s*', expand=True).add_prefix('Info_'))
Run Code Online (Sandbox Code Playgroud)