用随机空格分割文本

split the text with random spaces

我有一个随机字段 spaces

ID    field1
1     C 2205  123 ABC
2     B  111 345  DDD

我想将 field1 分成多列。有双 space 或单 space。

我试过下面一行,它给了我数组。

new=df["field1"].str.split(':')

print(new):
[C, 2205,  123, ABC]
[B,  111, 345,  DDD]

我也尝试过这一行,但我的专栏可以有单 space 或双 space。只是随机的。

df["field1"].str.split(" ", n = 1, expand = True) 

如何获得如下所示的输出?

ID  col1  col2  col3  col4
1   C     2205  123   ABC
2   B     111   345   DDD

试试这个:

df = df.set_index('ID')
df['field1'].str.split('\s+', expand=True).add_prefix('col')

输出:

   ID col0  col1 col2 col3
0   1    C  2205  123  ABC
1   2    B   111  345  DDD