2017-11-10 36 views
1

CSVファイルで#記号を読み取る際に問題があります。 CSVはこのように見えます。Genfromtxtで情報をスキップ#

aaa;;xxx;aaa;aaa;aaa;xxx;xxx;xxx;xxx;xxx;xxx;aaa 

aaaを文字列として、xxx​​をfloatとします。しかし、このファイルに次のような行があります:

aaa;;aaa;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A 

はPythonはこの行は彼がコメントとして#を解釈し、それの残りの部分をスキップして4列の代わりに13を持っているだろうと言って続けています。私は試しました:

kwargs = dict(delimiter=';', 
      dtype=np.str, 
      skip_header=11, 
      usecols= range(1,14), 
      missing_values = "#N/A", 
      filling_values = "0") 
data = np.genfromtxt(TestFile, **kwargs) 

まだ動作させることができませんでした。

私はそれをどのように管理できるか考えていますか?

+0

どのようにファイルを読み、評価しますか?コードを私たちに教えてください。 – mrCarnivore

+0

ファイルを読んで評価するのはどういう意味ですか?私はそれを見て、それは必要なすべての情報が含まれています – Toggo

+0

ファイルを読み、CSVから各値を抽出するために使用するコードを私たちに教えてください。 – mrCarnivore

答えて

0

変更辞書に、今

kwargs = dict(delimiter=';', 
       dtype=np.str, 
       skip_header=11, 
       usecols= range(1,14), 
       missing_values = "#N/A", 
       filling_values = "0", 
       comments=None) 

、これは動作するはずです。しかし、0から12までの列しかないときになぜ列が1から13かを使用しているのか分かりません。

+0

ありがとうございます。これは私のために働く。実際のCSVにはもっと多くの列があるので、私は列1-13を読んでいます... – Toggo