導航:首頁 > 編程語言 > java的csvreader

java的csvreader

發布時間:2022-06-22 12:29:46

A. 如何更方便地進行CSV格式文件讀寫

1 基本介紹
可以說CSV格式的文件經常碰到,何為CSV格式,CVS全稱comma-separated values,就是典型的用逗號隔開的文件,比如下面這種文件格式
Name,company
zhangsan,ibm
lisi,oracle
這種就是典型的CSV格式文件。不過也可以擴展到其它符號隔開的字元,比如
Name#company
Zhangsan#ibm
Lisi#oracle
這種也算CSV格式
java開源框架CVSReader提供了一個輕量級、簡單方便的統一操作介面可用,下面具體講解如何操作CVS格式
2 安裝和使用
2.1下載

上面下載到最新的csvreader包。
2.2安裝
直接把jar包分別存放到開發工程的類路徑下面即可使用。
3 讀取CSV格式文件
3.1基本簡介
首先,讀取CSV格式的文件需要創建一個CSVReader,如下
CsvReader reader = new CsvReader(Reader r, char c);
其中第一個參數為讀取文件,第二個參數為分割符,比如「,」,或者「#」
另外,也有其它幾個參數,可以查閱API,比如
CsvReader reader = new CsvReader(InputStream r, char c, Charset charset);等等
其次,一般需要讀取頭信息,如下:
reader.readHeaders();
String[] headers = reader.getHeaders();
讀取了後,指針就會移動到下一行,也就是可以開始讀取文件內容
假如,有多行的話,可以用一個循環套入,例如下面:
while (reader.readRecord()) {
for (int i = 0; i < headers.length; i++) {
String value = reader.get(headers[i]);
System.out.print(value+" ");
}
System.out.println("");
}

B. 如何使用eclipse編寫java程序讀取csv文件中

java有專門操作CSV文件的類和方法。java開源框架csvreader提供了一個輕量級的、簡單方便的統一操作介面可用。要使用CsvReader,CsvWriter需要下載一個javacsv.jar導入到項目中才行,在項目上點擊右鍵--屬性--庫--添加jar文件,選擇javacsv.jar文件即可,然後在程序中用import
com.csvreader.CsvReader,import com.csvreader.CsvWriter導入即可。
示範代碼:
package test;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class readandwrite {
public static void main(String[] args) throws IOException {
String [] str = {"省","市","區","街","路","里","幢","村","室","園","苑","巷","號"};
String inString = "";
String tmpString = "";
File inFile = new File("C://in.csv"); // 讀取的CSV文件
File outFile = new File("C://outtest.csv");//輸出的CSV文
try {
BufferedReader reader = new BufferedReader(new FileReader(inFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(outFile));
CsvReader creader = new CsvReader(reader, ',');
CsvWriter cwriter = new CsvWriter(writer,',');
while(creader.readRecord()){
inString = creader.getRawRecord();//讀取一行數據
for(int i = 0;i < str.length;i++){
tmpString = inString.replace(str[i], "," + str[i] + ",");
inString = tmpString;
}
//第一個參數表示要寫入的字元串數組,每一個元素佔一個單元格,第二個參數為true時表示寫完數據後自動換行
cwriter.writeRecord(inString.split(","), true);
//注意,此時再用cwriter.write(inString)方法寫入數據將會看到只往第一個單元格寫入了數據,「,」沒起到調到下一個單元格的作用
//如果用cwriter.write(String str)方法來寫數據,則要用cwriter.endRecord()方法來實現換行
//cwriter.endRecord();//換行
cwriter.flush();//刷新數據
}
creader.close();
cwriter.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
}

C. java要怎麼修改csv中指定行列位置的值

java讀取csv文件,按照指定格式: import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import com.csvreader.CsvReader; import com.csvreader.CsvWriter; /** * 讀取CSV文件 * 所謂"CSV",是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。 * 可以看成資料庫程序與電子表格之間一種中間通信文件,資料庫可以導出。csv格式,excel也可以導入並打開。csv文件,例子如下 * sj_mino一00一.jpg,漆一5二吧二,四FB55FE吧, * sj_mino一00二.jpg,四漆一二吧9,9三二0三C5C, * sj_mino一00三.jpg,四5一9二9,C四E吧0四陸漆, * */ public class CSVDeal{ public static void main(String[] args) { try { String[] stringList; String csvFilePath = "C:\\Users\\Administrator\\Desktop\\二0一四0二二漆一三59三陸.csv"; String sourceFileString= "C:\\Users\\Administrator\\Desktop\\test.csv"; CsvReader reader = new CsvReader(csvFilePath); //默認是逗號分隔符,UTF-吧編碼 CsvWriter writer = new CsvWriter(sourceFileString); /* * readRecord()判斷是否還有記錄,getValues()讀取當前記錄,然後指針下移 */ reader.readRecord(); writer.writeRecord(reader.getValues()); //讀取表頭 /* * 逐行讀取,以免文件太大 * 處理表頭後面的數據,這里是在第一二列數據統一加前綴"V" */ while(reader.readRecord()){ stringList = reader.getValues(); stringList[一一] = 'V' + stringList[一一]; writer.writeRecord(stringList); } reader.close(); writer.close(); }catch(Exception ex){ System.out.println(ex); } }

D. java 怎麼讀取hdfs上csv文件的某一列

java 怎麼讀取hdfs上csv文件的某一列
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
/**
* 讀取CSV文件
* 所謂"CSV",是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。
* 可以看成資料庫程序與電子表格之間一種中間通信文件,資料庫可以導出。csv格式,excel也可以導入並打開。csv文件,例子如下
* sj_mino1001.jpg,715282,4FB55FE8,
* sj_mino1002.jpg,471289,93203C5C,
* sj_mino1003.jpg,451929,C4E80467,
*
*/
public class CSVDeal{
public static void main(String[] args) {
try {
String[] stringList;
String csvFilePath = "C:\\Users\\Administrator\\Desktop\\20140227135936.csv";
String sourceFileString= "C:\\Users\\Administrator\\Desktop\\test.csv";
CsvReader reader = new CsvReader(csvFilePath); //默認是逗號分隔符,UTF-8編碼
CsvWriter writer = new CsvWriter(sourceFileString);
/*
* readRecord()判斷是否還有記錄,getValues()讀取當前記錄,然後指針下移
*/
reader.readRecord();
writer.writeRecord(reader.getValues()); //讀取表頭
/*
* 逐行讀取,以免文件太大
* 處理表頭後面的數據,這里是在第12列數據統一加前綴"V"
*/
while(reader.readRecord()){
stringList = reader.getValues();
stringList[11] = 'V' + stringList[11];
writer.writeRecord(stringList);
}
reader.close();
writer.close();
}catch(Exception ex){
System.out.println(ex);
}
}
}

E. javacsv.jar包已經下載但是CsvReader無法引用

F. 求個java讀取csv文件並輸出的程序

要使用CsvReader,CsvWriter需要下載一個javacsv.jar導入到項目中

packagetest;importcom.csvreader.CsvReader;importcom.csvreader.CsvWriter;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassreadandwrite{publicstaticvoidmain(String[]args)throwsIOException{String[]str={"省","市","區","街","路","里","幢","村","室","園","苑","巷","號"};StringinString="";StringtmpString="";FileinFile=newFile("C://in.csv");//讀取的CSV文件FileoutFile=newFile("C://outtest.csv");//輸出的CSV文try{BufferedReaderreader=newBufferedReader(newFileReader(inFile));BufferedWriterwriter=newBufferedWriter(newFileWriter(outFile));CsvReadercreader=newCsvReader(reader,',');CsvWritercwriter=newCsvWriter(writer,',');while(creader.readRecord()){inString=creader.getRawRecord();//讀取一行數據for(inti=0;i<str.length;i++){tmpString=inString.replace(str[i],","+str[i]+",");inString=tmpString;}//第一個參數表示要寫入的字元串數組,每一個元素佔一個單元格,第二個參數為true時表示寫完數據後自動換行cwriter.writeRecord(inString.split(","),true);//注意,此時再用cwriter.write(inString)方法寫入數據將會看到只往第一個單元格寫入了數據,「,」沒起到調到下一個單元格的作用//如果用cwriter.write(Stringstr)方法來寫數據,則要用cwriter.endRecord()方法來實現換行//cwriter.endRecord();//換行cwriter.flush();//刷新數據}creader.close();cwriter.close();}catch(FileNotFoundExceptionex){ex.printStackTrace();}}}

G. java讀取csv文件

importjava.io.BufferedReader;
importjava.io.FileReader;
importjava.util.*;

publicclassTest{
publicstaticvoidmain(String[]args){
Hashtable<String,String[]>dict=newHashtable<String,String[]>();
try{
BufferedReaderreader=newBufferedReader(newFileReader("test.csv"));
Stringline=null;
while((line=reader.readLine())!=null){
Stringitem[]=line.split(",");
Stringitem2[]=newString[19];
System.array(item,1,item2,0,19);
dict.put(item[0],item2);
}
Enumeratione2=dict.keys();
while(e2.hasMoreElements()){
Stringkey=(String)e2.nextElement();
System.out.println(key);
String[]dd=(String[])dict.get(key);
for(inti=0;i<dd.length;i++){
System.out.print(dd[i]+" ");
}
System.out.println();
}
}
catch(Exceptione){
e.printStackTrace();
}
}
}

H. java讀取CSV文件

可以通過流的形式讀取到所有內容,之後在轉換成元素的形式進行實現。舉例:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;

public class Test{
public static void main(String[] args) {
Hashtable<String, String[]> dict = new Hashtable<String, String[]>();
try {
BufferedReader reader = new BufferedReader(new FileReader("test.csv"));
String line = null;
while((line=reader.readLine())!=null){
String item[] = line.split(",");
String item2[] = new String[19];
System.array(item,1,item2,0,19);
dict.put(item[0],item2);
}
Enumeration e2 = dict.keys();
while (e2.hasMoreElements()) {
String key = (String) e2.nextElement();
System.out.println(key);
String[] dd = (String[])dict.get(key);
for (int i=0;i<dd.length;i++) {
System.out.print(dd[i]+"\t");
}
System.out.println();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}

I. 如何用java解析CSV文件

思想:先獲取csv文件的路徑,通過BufferedReader類去讀該路徑中的文件,使用readLine方法進行逐行讀取。

注意:使用readLine方法後會自動轉到下一行。因此在判斷是否為空後得先將讀取到的內容賦值給一變數,在循環中使用該變數即可。

publicstaticvoidmain(String[]args)
{
Filecsv=newFile("C:\Users\chenxumin\Desktop\Result.csv");//CSV文件路徑
BufferedReaderbr=null;
try
{
br=newBufferedReader(newFileReader(csv));
}catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
Stringline="";
StringeveryLine="";
try{
List<String>allString=newArrayList<>();
while((line=br.readLine())!=null)//讀取到的內容給line變數
{
everyLine=line;
System.out.println(everyLine);
allString.add(everyLine);
}
System.out.println("csv表格中所有行數:"+allString.size());
}catch(IOExceptione)
{
e.printStackTrace();
}

}

J. java 讀取csv文件里指定行列的值,比如讀取第三行第二列的值。

java讀取csv文件,按照指定格式:
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
/**
* 讀取CSV文件
* 所謂"CSV",是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。
* 可以看成資料庫程序與電子表格之間一種中間通信文件,資料庫可以導出。csv格式,excel也可以導入並打開。csv文件,例子如下
* sj_mino1001.jpg,715282,4FB55FE8,
* sj_mino1002.jpg,471289,93203C5C,
* sj_mino1003.jpg,451929,C4E80467,
*
*/
public class CSVDeal{
public static void main(String[] args) {
try {
String[] stringList;
String csvFilePath = "C:\\Users\\Administrator\\Desktop\\20140227135936.csv";
String sourceFileString= "C:\\Users\\Administrator\\Desktop\\test.csv";
CsvReader reader = new CsvReader(csvFilePath); //默認是逗號分隔符,UTF-8編碼
CsvWriter writer = new CsvWriter(sourceFileString);
/*
* readRecord()判斷是否還有記錄,getValues()讀取當前記錄,然後指針下移
*/
reader.readRecord();
writer.writeRecord(reader.getValues()); //讀取表頭
/*
* 逐行讀取,以免文件太大
* 處理表頭後面的數據,這里是在第12列數據統一加前綴"V"
*/
while(reader.readRecord()){
stringList = reader.getValues();
stringList[11] = 'V' + stringList[11];
writer.writeRecord(stringList);
}
reader.close();
writer.close();
}catch(Exception ex){
System.out.println(ex);
}
}
}

閱讀全文

與java的csvreader相關的資料

熱點內容
二進制流轉pdf 瀏覽:913
php判斷爬蟲 瀏覽:567
960除24除4簡便演算法 瀏覽:786
關於解壓英語翻譯 瀏覽:565
python控制鍵盤右鍵 瀏覽:920
php沒有libmysqldll 瀏覽:828
時政新聞app哪個好 瀏覽:906
手機已加密怎麼辦 瀏覽:201
安卓手機截屏怎麼傳到蘋果 瀏覽:527
京管家app哪裡下載 瀏覽:33
文件夾橫向排列的豎向排列 瀏覽:453
51單片機驅動攝像頭模塊 瀏覽:689
政府文件加密沒法轉換 瀏覽:373
android判斷棧頂 瀏覽:331
憑證軟體源碼 瀏覽:860
androidwebview滾動事件 瀏覽:11
如何將電腦上的圖片壓縮成文件包 瀏覽:899
程序員轉金融IT 瀏覽:837
黑馬程序員培訓效果如何 瀏覽:915
本地集成編譯 瀏覽:528