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

标签 python excel pandas

我正在从数据库中提取数据并写入新的 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/

相关文章:

python - 如何在 matplotlib 中隐藏线条?

excel - 如何统计Excel中错误值的数量

node.js - 有没有办法在nodejs中读取excel文件

python - 有没有一个Python函数可以完成R中mapply的功能

Python Pandas : Get index of multiple rows which column matches certain value

python - 当销毁 TreeView 时,我应该 'destroy' 一个列表存储( TreeView 的模型)吗?

python - 在主任务中显示来自后台任务的计数变量(Tkinter GUI)

python - 采用节点网络并插入缺失值的最佳方法

python - 从多个数组中减去一个值

excel - 格式功能错误