Linux のwcコマンドをmac OS Catalinaで使いたいのですが、うまくいきません。
csvファイルの行数をカウントしたく、次のようにwcコマンドを使用しカウントを試みているのですが、次のようなエラーになりうまくいきません。
良い方法があればご教示いただければ幸いです。
python
1 import subprocess 2 line_count = int(subprocess.check_output(['wc', '-l', 'test.csv']).decode().sp 3 lit(' ')[0])
<エラー内容>
ValueError: invalid literal for int() with base 10: ''
wc -l test.csv を実行した結果を自分で確認していますか?
他の人にやってもらったなどで確認できていないということですか?
はい。実行した結果が本文に記載した内容になります。
ValueError: invalid literal for int() with base 10: ''
CSV の行数を得たい場合は Python だけでもできますが、wcコマンドを使って行数を取得することは必須でしょうか?
ありがとうございます。処理速度が速いと伺い、wcを試している次第です。
ちなみに、for とenumerateは実証済みです。ありがとうございました。wcもうまく行きました。for文を使うよりも行数が短くなることで、大量処理には向いている、と理解しています。もし他にも、高速処理できそうな方法があればご教示いただければ幸いです。
回答2件
あなたの回答
tips
プレビュー