我正在讀一箇舊的學校數據庫到大熊貓tsv表。大熊貓read_csv忽略不符合的行
的數據是這樣的:
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個字段。所以這三行是一個問題。
如果我試着去閱讀它,像這樣:
import pandas as pd
FeO = pd.read_csv('JANAF-FeO.txt', skiprows=(0,), delimiter='\t', header=0)
然後我得到這個:
所以不是我可以告訴熊貓手動跳過這些三行:
import pandas as pd
FeO = pd.read_csv('JANAF-FeO.txt', skiprows=(0,2,3,4), delimiter='\t', header=0)
這很好,我得到這個:
如果我只是讀一個文件,這將是很好,我會跳過這些行來完成。但是有很多文件,其中一些文件的可變數字有幾行,有8列以上。那麼是否有辦法讓大熊貓自動忽略與標題格式不匹配的行?
如果你有一堆雜亂的數據,大熊貓可以幫助,但我不認爲一個自定義分析器可爲您服務。你可能不得不找出一些啓發式的方法來過濾/將線條變成理智的東西並從那裏出發。 – U2EF1
還有更多的8列 - 已知最大列數? – jezrael
總是應該有8列。 – ZSG