numpyのloadtxt関数を使用してCSVファイルからデータをインポートしようとすると、小さな問題が発生します。ここに私が持っているデータファイルの種類のサンプルがあります。numpy loadtxt先頭行をスキップ
は 'datafile1.csv' それを呼び出す:
# Comment 1
# Comment 2
x,y,z
1,2,3
4,5,6
7,8,9
...
...
# End of File Comment
私はこのような状況のために働くだろうと思ったスクリプトは次のようになります。
import numpy as np
FH = np.loadtxt('datafile1.csv',comments='#',delimiter=',',skiprows=1)
しかし、私はエラーを取得しています:
ValueError: could not convert string to float: x
これは、kwarg 'skiprows'がヘッダーをスキップしていないことを示しています。コメントの最初の行をスキップしています。私は単純にskiprows = 3を確認することができますが、ファイルの数が非常に多く、必ずしもファイルの先頭に同じ数のコメント行があるわけではありません。私がloadtxtを使用するときに、私はこのような状況で実際のデータを取得していることを確認するにはどうすればよいですか?
P.S. - 私はbashソリューションも公開しています。
私はまた私がパースするPythonで、さまざまなソリューションを試みたことを追加する必要が各行はコメントまたは文字のいずれかであるが、loadtxtが最初から失敗しているため、この性質は何の役にも立たないことをすぐに認識していた。 – astromax