2016-05-04 8 views
4

私はasd=readcsv(filename)を使用して、Juliaのcsvファイルを読み取っています。readcsvがJuliaの#文字を読み取れない

csvファイルの最初の行には、列の内容を記述する文字列が含まれています。残りのデータは整数と浮動小数点数の組み合わせです。 readcsvは数字だけを読み込みますが、は、最初の4 + 1/2文字列エントリを読み込みます。

その後、 ""をレンダリングします。 REPLdisplay asd[1,:]と尋ねると、私にはそれが1x65 Array{Any,2}と伝えられます。

csvファイルの最初の行の5番目の列(これはそれがチョークするエントリのようです)はAPP #1 bias voltage [V]です。 asd[1,5]はちょうどAPPです。だから、readcsvが "#"文字を隠しているように見えます。

私はreadcsvで "quotes = false"キーワードを使用しようとしましたが、それは役に立ちませんでした。

私は以前Matlabでxlsreadを使用していましたが、正常に動作しました。 誰かが前にこのようなことを見たことがありますか?

答えて

6

Juliaのコメント文字は#で、区切られたテキストファイルからファイルを読み取るときに適用されます。

しかし幸いなことに、​​とreaddlm()の機能には、これらの状況で役立つoptional argumentがあります。

readcsv(filename; comment_char = '/')を試してください。

もちろん、上の例では、最初の行に/文字がないことを前提としています。そうした場合、上記の/を他のものに変更する必要があります。

+6

別の名前付きパラメータは、ブール値の 'comments'です。また 'readcsv(filename; comments = false)'はコメント処理を無効にします(それはもっと速いかもしれません)。 –

+0

私はこれらのソリューションを試してみましたが、どちらも完璧に機能しました!手伝ってくれてどうもありがとう。 – JuliaNewbie

+0

正しい構文を得るためには、このページを再訪しなければなりませんでした。当初私は "readcsv(filename; comments = false)"と書いていました。これは最初はうまくいったが、その後は機能しなくなった。私はこのページに戻り、カンマではなくセミコロンが必要であることを認識しました: "readcsv(filename; comments = false)" – JuliaNewbie

関連する問題