【发布时间】:2022-01-22 00:04:23
【问题描述】:
我有一个如下所示的 csv 文件,名称列的名称用逗号分隔,我想将它们用逗号分隔并将它们附加到新列并创建相同的 csv,类似于 excel 中列的文本,问题是某些行有随机数量的名称。
| Address | Name |
| 1st st | John, Smith |
|2nd st. | Andrew, Jane, Aaron|
我的熊猫代码看起来像这样
df1 = pd.read_csv('sample.csv')
df1['Name'] = df1['Name'].str.split(',', expand=True)
df1.to_csv('results.csv',index=None)
当然这不起作用,因为列的长度必须与键的长度相同。预期的输出是
| Address | Name | | |
| 1st st | John |Smith| |
|2nd st. | Andrew| Jane| Aaron|
【问题讨论】:
-
是连续2个逗号的最大值吗?如果那么您可以根据
,->df1[['Name1','Name2','Name3']] = df1.Name.str.split(',' ,expand =True)然后df1.drop('Name',axis=1,inplace = True)拆分为 3 列 -
某些行中的最大名称几乎是 15 个,但可能会有所不同,问题是我想让它足够通用以至于它不重要。我不想硬编码列名