我正在从一个旧学校的数据库中读取一个tsv表到Pandas中。在
数据如下:
Iron Oxide (FeO) Fe1O1(cr,l)
T(K) Cp S -[G-H(Tr)]/T H-H(Tr) delta-f H delta-f G log Kf
0
100
200
298.15 49.915 60.752 60.752 0. -272.044 -251.429 44.049
300 49.999 61.061 60.753 0.092 -272.025 -251.301 43.755
400 51.840 75.704 62.737 5.187 -271.044 -244.543 31.934
.
.
.
我跳过第一排。第二行是8列标题(制表符分隔)。接下来的三行有一个数字和10个制表符,之后的每一行是8个字段。所以这三排是个问题。在
如果我试着这样读:
^{pr2}$然后我得到这个:
所以我可以告诉熊猫手动跳过这三行:
import pandas as pd
FeO = pd.read_csv('JANAF-FeO.txt', skiprows=(0,2,3,4), delimiter='\t', header=0)
很好,我明白了:
如果我只是在读一个文件,那就好了,我会跳过这些行,然后完成。但是有很多文件,其中一些文件的行数可变,超过8列。那么,有没有办法让pandas自动忽略与标题格式不匹配的行?在
如果您需要更通用的解决方案,请尝试:
听起来你的问题是那些奇怪的单值行上有额外的标签。在
幸运的是,sep参数采用正则表达式。我尽我所能重新创建了您的数据集,并从以下read_csv获得了一个外观不错的df:
希望这有帮助!在
相关问题 更多 >
编程相关推荐