实际上我被困在一个问题上,我的数据是在下面的图像中给出的格式,
拆分数据到多列
在python数据框架中是否有办法将这些数据隔离为多列示例,
要求格式的数据
有谁能帮我一下吗?
我试过拆分它,但它不工作,
df3=df.technische_daten.str.split('s+(?=</[a-z]+>)', expand=True)
df3[0]=df3[0].str.replace(r'<li>', '', regex=False)
df3[1]=df3[1].str.replace(r'</li> ','',regex=True)
数据片段:<ul><li>Höhe: 248 mm</li><li>Länge: 297 mm</li><li>Breite: 246 mm</li><li>Gewicht: 4,0 kg</li><li>Leerlaufdrehzahl: 5500 U/min</li><li>Sägeblattdurchmesser: 190 mm</li><li>Leistungsaufnahme: 1400 Watt</li><li>Standard: 821552-6,B-02939,195837-9,164095-8</li><li>Bohrung: 30 mm</li><li>Schnittleistung 45°: 48,5 mm</li><li>Vibration Sägen Holz: 2,5 m/s²</li><li>Schnittleistung 0°: 67 mm</li><li>Sägeblatt-Ø / Bohrung: 190/30 mm</li><li>Max. Schnitttiefe 90°: 67 mm</li><li>Schnittleistung 0°/45°: 67/48,5 mm</li></ul>
这是pandas的一个内置函数,它将为您创建一个HTML表。
import pandas as pd
df_rows = []
# put the below in a for loop to get all of your rows
# rows = all_your_data
# for row in rows:
# remove this line and use the above for loop
row = "<ul><li>Höhe: 248 mm</li><li>Länge: 297 mm</li><li>Breite: 246 mm</li><li>Gewicht: 4,0 kg</li><li>Leerlaufdrehzahl: 5500 U/min</li><li>Sägeblattdurchmesser: 190 mm</li><li>Leistungsaufnahme: 1400 Watt</li><li>Standard: 821552-6,B-02939,195837-9,164095-8</li><li>Bohrung: 30 mm</li><li>Schnittleistung 45°: 48,5 mm</li><li>Vibration Sägen Holz: 2,5 m/s²</li><li>Schnittleistung 0°: 67 mm</li><li>Sägeblatt-Ø / Bohrung: 190/30 mm</li><li>Max. Schnitttiefe 90°: 67 mm</li><li>Schnittleistung 0°/45°: 67/48,5 mm</li></ul>"
values = row.split("</li><li>")
# clean the data
values[0] = values[0].replace("<ul><li>", "")
values[-1] = values[-1].replace("</li></ul>", "")
dict_of_values = {}
for value in values:
dict_of_values[value.split(": ")[0]] = value.split(": ")[1]
df_rows.append(dict_of_values)
# outside of for loop
df = pd.DataFrame.from_dict(df_rows, orient='columns')
# use df.drop to remove any columns you do not need
df = df.drop(['Leerlaufdrehzahl', 'Sägeblattdurchmesser'], axis=1)
your_html = df.to_html()
希望这对你有帮助。