package com.zte.nva.dap.hadoop.csvreader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import au.com.bytecode.opencsv.CSVReader;
import au.com.bytecode.opencsv.CSVWriter;
/**
*
* @author
* @version v1.0
* @msg.get csv list
* @csv API : http://opencsv.sourceforge.net/apidocs/index.html
*/
public class CsvReaderTest
{
public static void main(String[] args)throws Exception
{
String file = "f:"+File.separator+"test.csv";
/**
* 测试写一个csv文件
*/
// new CsvReaderTest().writeCSV(file);
/**
* 读取指定列的csv文件
*/
// new CsvReaderTest().getCSVList1(file);
}
/**
* @param file,file demo adress
* @return list
* @description get all col cell value to add list
*/
private List<String> getCSVList1(String file)
{
//取特定列放到集合
List<String> list = new ArrayList<String>();
//取特定列放到数组
String[] csvArray ;
CSVReader reader = null;
try {
/*
* 获取所有列集合信息
* CSVReader reader = new CSVReader(new FileReader(file),'\t', '\''); */
reader = new CSVReader(new FileReader(file));
String [] nextLine;
System.out.println("一共有: " + reader.readNext().length+" 列");
StringBuffer sb = new StringBuffer();
while ((nextLine = reader.readNext()) != null)
{
//获取指定列的集合信息,放到集合中
list.add(nextLine[0]);
//取特定列放到数组
sb.append(nextLine[0]);
sb.append(",");
}
//遍历集合
for(String str1 : list){
System.out.println("value : " + str1);
}
System.out.println("***********************************************");
//遍历数组
csvArray = sb.toString().split(",");
for(String str2 : csvArray){
System.out.println("value : " + str2);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return list;
}
/**
* 生成一个大数据量的csv测试文件
*/
public void writeCSV(String file){
try
{
CSVWriter writer = new CSVWriter(new FileWriter(file), '\t');
long startTime=System.currentTimeMillis(); //获取开始时间
for(int i=0;i<100000;i++)
{
writer.writeNext(new String[]{String.valueOf(i)});
}
long endTime=System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间: "+(endTime-startTime)+"毫秒");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
2. **创建CsvReader实例**:创建`CsvReader`对象时,需要传入一个打开的`BufferedReader`,该`BufferedReader`通常基于一个指向CSV文件的`FileInputStream`或`InputStreamReader`。 ```java File file = new File...
"CSV Reader"可能指的是一个工具或库,用于读取和解析这些文件。 在编程中,处理CSV文件是一项基本任务,尤其是在Python中。Python提供了内置的`csv`模块,允许开发者方便地读取和写入CSV文件。`csv.reader`是该...
在这个案例中,我们主要关注两个文件:`CsvReader.java`和`CsvWriter.java`,它们可能是实现CSV文件读写功能的自定义类。 首先,`CsvReader.java`文件可能包含了读取CSV文件的逻辑。在Java中,基本的读取方法是通过...
`csvreader`是为MATLAB设计的一个强大的CSV解析函数,它能有效地帮助用户读取和处理CSV文件中的数据。在这个名为"matlab开发-csvreader"的压缩包中,包含了一些关键组件和文档,旨在简化CSV文件的读取操作。 首先,...
在MATLAB中,CSVreader是一种自定义开发的工具,它为用户提供了便利的方式来处理CSV(逗号分隔值)文件。CSV格式广泛用于数据交换,因为它简单且易于阅读,同时被许多应用程序支持。CSVreader类旨在优化数据导入和...
CsvReader cr1 = new CsvReader(path); // 有中文的 CsvReader cr2 = new CsvReader(new FileReader(new File(path))); // 需要指定读入编码的 CsvReader cr = new CsvReader(new ...
`csvReader`是一个C++类,专为处理CSV(逗号分隔值)文件而设计。CSV文件是一种常见的数据格式,常用于存储表格数据,如电子表格或数据库,且易于被各种程序读取和写入。`csvReader`类简化了在C++中对这种文件类型的...
public class CSVReader { public static void main(String[] args) { try (FileReader reader = new FileReader("input.csv"); CSVParser parser = CSVParser.parse(reader, CSVFormat.DEFAULT)) { for (CSV...
CsvReader CsvReader -> I am using BufferedReader for its fast enough for a sequential access upto 100MB of data, the performance improvement is not so much as against using MappedByteBuffer. -> ...
该库的核心类包括`CSVReader`和`CSVWriter`,它们分别用于读取和写入CSV数据。 `CSVReader`类允许开发者从一个输入源(如文件、流或字符数组)读取CSV数据。它能处理包含逗号、引号和转义字符的复杂CSV文件,并将每...
csvreader-以正确的方式读取逗号分隔值(csv)格式的表格数据(使用零配置立即使用最佳实践) 主页:: 错误:: 宝石:: rdoc :: 论坛:: 最新消息对于额外的尾随值设置为默认解析器(双引号值V1.2.2新增的自动修复/校正/...
- **构造函数**:接受文件路径作为参数,初始化`CSVReader`实例。 - **`getRowValues()`方法**:获取文件中的单行数据。 - **`getColNum()`方法**:获取当前行的列数。 - **`close()`方法**:关闭文件流。 #### 四...
3. **自定义分隔符**:如果你的CSV文件使用了非标准的分隔符,如制表符,可以通过设置`CsvReader`或`CsvWriter`的分隔符属性来适应。 4. **处理嵌套引用**:当字段中包含逗号时,LumenWorks库会正确处理这些情况,...
public class CSVReader { public static void main(String[] args) throws Exception { String filePath = "path_to_your_csv_file.csv"; try (BufferedReader br = new BufferedReader(new InputStreamReader( ...
CsvReader可以读取任何字符集编码(也包含BOM表)以及可配置的分隔符和可选的stringquote(定界符)的.csv文件。 CsvWriter可以编写.csv文件,并支持与CsvReader相同的功能。 还有一些其他方便的可选配置值。 有关...
CsvReader。 1)React实现了Csv Reader SPA应用程序。 2)用户界面允许用户上传csv文件(固定格式为附件CSV)。 3)CSv的解析和验证将在浏览器端进行。 4)它将显示带有CSV解析数据的预览表。 5)一旦用户单击“保存...
`CSVReader`会逐行读取文件,并将每一行的数据作为数组返回,数组中的每个元素代表一个单元格。 如果你的数据模型与CSV文件结构匹配,可以使用`decode`方法将CSV数据转换为自定义的Swift类型。首先定义一个结构体,...
react-csv-reader 处理CSV文件输入的React组件。 它处理文件输入并以矩阵形式返回其内容。 文件: 您可以在的操场上或的。 安装 用yarn或npm安装包装。 含纱线: ... CSVReader onFileLoaded = { ( d
2. 使用`CsvHelper`读取:配置映射类,然后使用`CsvReader`逐行读取,自动转化为对象。 四、写入CSV文件 1. 使用`StreamWriter`和字符串拼接:逐行写入数据,每行数据以逗号分隔。 2. 使用`CsvWriter`:通过`...
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { csv.Configuration.HasHeaderRecord = true; // 如果CSV文件有表头 csv.Configuration.Delimiter = ","; // 分隔符 var records = ...