将一列切分为多列
问题:
没有列名,那么pandas读入时默认按照第一行的格式,前面都是两列,而后面出现了三列,四列,五列数据就会报错。而你直接读入时指定数据列就可以避免这个问题了 其实你还可以把分隔符改成不是,的其他,比如sep='\t',那么就把每行的所有的数据读入一个单元格,后期使用正则化以逗号分割
解决:
0是列的名字,这里由于原始数据没有列名,所以pandas默认列名为0。如果原始数据是有列名的,则将0替换成‘列名’即可。
df = pd.read_csv('12.csv', encoding='utf-8', sep='\t', header=None)
df3 = df[0].str.split(',', expand=True)
print(df3.to_string())
df3.to_csv("x2.csv", index=False)