我需要创建一个基于4个txt文件的Pandas数据框架,其中包含基于以下结构的注解(阅读时跳过):
# Moteur conçu par le Poly Propulsion Lab (PPL)
nom=Tondeuse
# Propriétés générales
hauteur=0.5
masse=20.0
prix=110.00
# Propriétés du moteur
impulsion specifique=80
和
# Moteur conçu par le Poly Propulsion Lab (PPL)
nom=Civic VTEC
# Propriétés générales
hauteur=2.0
masse=3000.0
prix=2968.00
# Propriétés du moteur
impulsion specifique=205
和
# Moteur conçu par le Poly Propulsion Lab (PPL)
nom=VelociRAPTOR
# Propriétés générales
hauteur=4.0
masse=2000.0
prix=6000.00
# Propriétés du moteur
impulsion specifique=250
和
# Moteur conçu par le Poly Propulsion Lab (PPL)
nom=La Puissance
# Propriétés générales
hauteur=12.0
masse=15000.0
prix=39000.00
# Propriétés du moteur
impulsion specifique=295
这就是我需要的结果:
nom hauteur masse prix impulsion specifique
0 Tondeuse 0.5 20.0 110.0 80
1 Civic VTEC 2.0 3000.0 2968.0 205
2 VelociRAPTOR 4.0 2000.0 6000.0 250
3 La Puissance 12.0 15000.0 39000.0 295
我不知道这是否可能但这就是我被要求做的
2条答案
按热度按时间6qftjkof1#
欢迎来到Stackoverflow!:)
如果你的txt文件有你刚才展示的内容,你可以用panda作为CSV文件来读取它们。
pandas.read_csv函数有多个方面可以帮助您:
comment
输入参数,使用该参数可以定义要忽略的行=
符号作为分隔符,这将使您能够将数据拆分到所需的部分中现在,让我们尝试使用
read_csv
函数读取一个文件:我们还没有完全做到这一点。我们希望删除没有提供任何信息的索引列,并希望转置 Dataframe (行<->和列),以便能够将所有 Dataframe 连接在一起。让我们开始吧!
这样看起来好多了!输入
index_col=0
使最左边的列成为索引列,最后的.T
转置 Dataframe 。现在我们只需要将其放入一个循环中,并使用它生成一个完整的脚本!请注意,您仍然有最左边的列与索引号,我没有清除它,因为我不确定您想要在那里。
另外,重要的是,您需要注意,如果文件中列的名称稍有不同(例如,
impulsion specifique
与impulsion spécifique
),这将导致错误。您需要为这些创建错误处理过程。或者强制执行特定的模式,但这超出了本问题的范围。我希望这对你有帮助!
hrysbysz2#
您的数据文件看起来非常接近配置文件。您可以使用configparser从每个文件生成一个字典: