如何将具有可变数量分隔符的文本文件转换为数据框?

How to convert a text file with variable number of delimiters into a dataframe?

如何将下面的文本数据转换成数据框?还有一种方法可以只在某些列上使用爆炸函数吗?比如 data3、data4 只忽略前两个数据点 data1、data2

Attribute1,data1,data2
Attribute2,data1,data2,data3,data4
Attribute3,data1,data2,data3
Attribute4,data1,data2,data3,data4,data5,data6

数据框的文本输出应该是这样的:

Attribute1|data1|data2
Attribute2|data1|data2|data3|data4
Attribute3|data1|data2|data3
Attribute4|data1|data2|data3|data4|data5|data6

dataframe explode 的输出应该是这样的:

Attribute2|data3
Attribute2|data4
Attribute3|data3
Attribute4|data3
Attribute4|data4
Attribute4|data5
Attribute4|data6
df = pd.read_csv('test.txt', header=None, sep=';')

df = df[0].str.split(',', expand=True)
df.set_index(0, inplace=True)
df = df.stack().droplevel(1)
print(df)

输出:

0
Attribute1    data1
Attribute1    data2
Attribute2    data1
Attribute2    data2
Attribute2    data3
Attribute2    data4
Attribute3    data1
Attribute3    data2
Attribute3    data3
Attribute4    data1
Attribute4    data2
Attribute4    data3
Attribute4    data4
Attribute4    data5
Attribute4    data6