我正在从数据库中提取数据并写入新的 Excel 文件以生成报告。我的问题是最后一列数据包含以逗号分隔的数据,需要分隔到单独的列中。
例如,我有如下数据:
Name Info
Mike "a, b, c, d"
Joe "a, f, z"
我需要将这些字母分成单独的列。 a、b 等不必排成一行,这样每个字母都在“正确”的列中。它们只需要分成单独的列。
我在 Python 中执行此操作。我愿意使用 Pandas 等其他库。将包括其他列,而不仅仅是两个。我做了一个简单的例子。
感谢任何帮助。
最佳答案
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_'))
关于python用逗号将文本分隔到不同的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47894861/