java+读取csv文件列_java – 逐列读取CSV文件

我想从多列csv文件中读取特定列,并使用Java在其他csv文件中打印这些列。有什么帮助吗?以下是我的代码逐行打印每个标记..但我打算只打印多列csv中的几列。

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.StringTokenizer;

public class ParseCSV {

public static void main(String[] args) {

try

{

//csv file containing data

String strFile = "C:\\Users\\rsaluja\\CMS_Evaluation\\Drupal_12_08_27.csv";

//create BufferedReader to read csv file

BufferedReader br = new BufferedReader( new FileReader(strFile));

String strLine = "";

StringTokenizer st = null;

int lineNumber = 0, tokenNumber = 0;

//read comma separated file line by line

while( (strLine = br.readLine()) != null)

{

lineNumber++;

//break comma separated line using ","

st = new StringTokenizer(strLine, ",");

while(st.hasMoreTokens())

{

//display csv values

tokenNumber++;

System.out.println("Line # " + lineNumber +

", Token # " + tokenNumber

+ ", Token : "+ st.nextToken());

System.out.println(cols[4]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
读取大型CSV文件可以使用SuperCSV库,它是一个快速、可伸缩和轻量级的CSV读写器/写入器。下面是使用SuperCSV读取大型CSV文件Java示例代码: ```java import java.io.FileReader; import java.io.IOException; import java.util.List; import org.supercsv.io.CsvListReader; import org.supercsv.prefs.CsvPreference; public class ReadLargeCSVFile { public static void main(String[] args) throws IOException { String csvFileName = "/path/to/large/file.csv"; CsvListReader csvReader = null; try { csvReader = new CsvListReader(new FileReader(csvFileName), CsvPreference.STANDARD_PREFERENCE); List<String> record; while ((record = csvReader.read()) != null) { // process record } } finally { if (csvReader != null) { csvReader.close(); } } } } ``` 在上面的示例中,使用CsvListReader类从文件读取CSV记录。CsvListReader类可以读取CSV记录并将它们作为List<String>返回。CsvPreference.STANDARD_PREFERENCE定义了CSV文件的格式,包括分隔符、文本限定符等。您可以根据您的CSV文件的格式更改CsvPreference对象。 此外,您可以使用CSV文件的分隔符和文本限定符作为参数创建CsvListReader对象,如下所示: ```java CsvListReader csvReader = new CsvListReader(new FileReader(csvFileName), new CsvPreference.Builder('"', ',', "\n").build()); ``` 在上面的示例中,CSV文件使用双引号作为文本限定符,逗号作为分隔符,换行符作为记录分隔符。 读取大型CSV文件时,需要注意内存使用情况。您可以使用Java的内存分页技术来处理大型CSV文件。将CSV文件分成多个文件,并在每个文件中处理一部分记录,以避免内存不足的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值