0

アプリケーション用に複数の csv ファイルがあります。csvファイルを読み取って行数と列数を取得しようとしています。引数 file_path を介して送信する 2 つの csv ファイルがあります。最初のファイルは 5 行 3 列で、2 番目のファイルは 5 行 5 列です。しかし、以下のコードを使用すると、4 行 3 列の First file と 4 行 5 列の Second file が得られます。行数から1行の読み取りをスキップする理由がわかりません。
一方、row_count のコードを最初に実行し、col_count のコードを後で実行すると、StopIteration 例外が発生します。
これは非常に単純な問題かもしれませんが、Python の初心者である私にとっては、どんな助けも大歓迎です。ありがとう

def read_text_file(file_path):
    with open(file_path, 'r') as f:
        reader = csv.reader(f)
        col_count = len(next(reader))
        print(col_count)       
        row_count = len(list(csv.reader(f)))
        print(row_count)
4

3 に答える 3

0

CSVを読み込んでリストに保存する

reader = list(csv.reader(f))

これにより、csv データが 2D 配列に変換され、関数を使用できるようになりlen()ます。

于 2021-04-01T08:15:06.417 に答える
0
import numpy
numpy.genfromtxt('path/to/your/csv/file.csv').shape

行と列の数をタプルとして伝える必要があります。

于 2021-04-01T08:15:46.273 に答える