web-dev-qa-db-ja.com

CSVインポート中に行をスキップしますpandas

pandas.read_csv()を使用して.csvファイルをインポートしようとしていますが、データファイルの2行目(0インデックスの場合はインデックス= 1の行)をインポートしたくありません。

コマンドで使用される引数があいまいに見えるため、インポートしない方法がわかりません。

pandas Webサイトから:

skiprows:リスト形式または整数

ファイルの先頭でスキップする行番号(0から始まる)またはスキップする行数(int)。

引数にskiprows=1を入れた場合、最初の行をスキップするか、インデックス1の行をスキップするかをどのように知るのですか?

73
thosphor

あなたは自分で試すことができます:

>>> import pandas as pd
>>> from StringIO import StringIO
>>> s = """1, 2
... 3, 4
... 5, 6"""
>>> pd.read_csv(StringIO(s), skiprows=[1], header=None)
   0  1
0  1  2
1  5  6
>>> pd.read_csv(StringIO(s), skiprows=1, header=None)
   0  1
0  3  4
1  5  6
115
alko

私はまだコメントする評判がありませんが、さらに参照するために alko answerに追加したいと思います。

docs から:

skiprows:スキップするファイル内の行の番号のコレクション。最初のn行をスキップする整数にすることもできます

26
Hugo

Csvファイルの読み取り中にskiprowsを実行しているときに同じ問題が発生しました。 skip_rows = 1を提供していましたが、これは機能しません

簡単な例では、csvファイルの読み取り中にskiprowsを使用する方法を示しています。

import pandas as pd

#skiprows=1 will skip first line and try to read from second line
df = pandas.read_csv('my_csv_file.csv', skiprows=1)

#print the data frame
df
3
Viraj.Hadoop