23

これが私が現在使用しているラインです

File booleanTopicFile;
// booleanTopicFile is csv file uploaded from form
CSVReader csvReader = new CSVReader(new InputStreamReader(new FileInputStream(booleanTopicFile), "UTF-8"));

見出しを含むcsvの最初の行をスキップしたい。デフォルトのコンストラクターですでに使用可能なデフォルトの1つのコンマ(、)を除いて、区切り文字を使用したくありません。パラメータ化されたコンストラクタには、noをスキップするオプションがあります。行の数ですが、コンストラクターの2番目と3番目のパラメーターの処理方法。

CSVReader csvReader = new CSVReader(new InputStreamReader(Reader reader, char c, char c1, int index);

- ありがとう

4

6 に答える 6

34

この CSVReader クラスのコンストラクターは、ファイルの読み取り中に csv の最初の行をスキップします。

CSVReader reader = new CSVReader(new FileReader(file), ',', '\'', 1);
于 2013-02-01T08:45:03.353 に答える
25

少なくともバージョン 3.8 以降では、 を使用してCSVReaderBuilder、最初の行をスキップするように設定できます。

例:

CSVReader reader = new CSVReaderBuilder(inputStreamReader)
                .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS)
                // Skip the header
                .withSkipLines(1)
                .build();
于 2016-11-25T11:35:15.147 に答える
13

この質問と回答は役に立ちました。Christophe Roussy のコメントを詳しく説明したいと思います。最新のopencsv(この記事の執筆時点では2.3)では、実際のコード行は次のとおりです。

new CSVReader( new StringReader(csvText), CSVParser.DEFAULT_SEPARATOR,
               CSVParser.DEFAULT_QUOTE_CHARACTER, 1);

CSVReader の代わりに CSVParser を使用することに注意してください。

于 2014-01-14T14:32:49.870 に答える
-1

次のものも使用できますwithFilter

watFileCsvBeans = new CsvToBeanBuilder<ClassType>(isr)
  .withType(ClassType.class)
  .withIgnoreLeadingWhiteSpace(true)
  // CsvToBeanFilter with a custom allowLine implementation
  .withFilter(line -> !line[0].equals("skipme"))
  .build()
  .parse();
于 2019-10-10T13:12:08.323 に答える