使用python 实现对CSV文件数据的处理

原始数据组为下图,每一行都有一些数据,且每一行的数据长度不相同,分别以逗号和空格分割。

img

想批量转化为第二张图片当中的数据形式。

img

谢谢各位

import pandas as pd
import re
df = pd.DataFrame({'Category':['C,D','A,B,C','A,D','C','A,D','A,B,C','A,B,C','D']})

def st(stri,colN):
    col = "columns"+str(colN)
    lis = re.split('[ ,]',stri)
    data = pd.DataFrame({col:lis})
    return data

data2 = pd.DataFrame()
for ind, row in df.iterrows():
    data2 = pd.concat([data2,st(row['Category'],str(ind+1))],axis=1)
data2

img

我先用文字解析一下哈,看看是不是这个意思
原始数据有多行,需要对每一行进行处理,处理规则为:

识别逗号为新数据每行的分隔符,识别空格为每个字段的分隔符

因此原数据一定满足下面这样的格式

字段1 字段2 字段3,字段1 字段2 字段3,字段1 字段2 字段3...

那么这其实就是按每行循环,按逗号切割成列表 后再循环 按空格切割生成一行新数据