commons-csv 使用记叙
生活随笔
收集整理的這篇文章主要介紹了
commons-csv 使用记叙
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
java 下解析csv真的很方便
package cn.amlove.csvparse;import java.io.*; import java.util.ArrayList; import java.util.Map; import java.util.logging.Logger;import org.apache.commons.csv.*;public class Main {static Logger log = Logger.getLogger("cn.amlove.csvparse");public static void main(String[] args) throws IOException {Data d1 = Main.getDataByResourcePath("/cn/amlove/csvparse/resources/test.csv");System.out.println("file: " + d1.getPath());System.out.println("headers: " + d1.getHeaders().keySet());System.out.println("values: " + d1.getRows());Data d2 = Main.getDataByPath("/C:/tmptt/TestDataDemo.csv");System.out.println("file: " + d2.getPath());System.out.println("headers: " + d2.getHeaders().keySet());System.out.println("values: " + d2.getRows());System.out.println("第1行數據: " + d2.getRows().get(0));System.out.println("第2行數據: " + d2.getRows().get(1));System.out.println("第1行數據 指定列獲取: " + d2.getRows().get(0).get("$username"));System.out.println("第1行數據 指定列獲取: " + d2.getRows().get(0).get("$password"));}public static Data getDataByPath(String path) {log.info("load file: " + path);Data data = new Data(); data.setPath(path);ArrayList<Map<String, String>> rows = new ArrayList<Map<String, String>>();try {Reader in = new FileReader(path);Iterable<CSVRecord> records = CSVFormat.EXCEL.withFirstRecordAsHeader().parse(in);Map<String, Integer> headers = ((CSVParser) records).getHeaderMap();data.setHeaders(headers); log.info(headers.toString());for (CSVRecord record : records) {rows.add(record.toMap());}} catch (NullPointerException e) {log.severe("資源文件找不到: " + path);} catch (FileNotFoundException e) {log.severe("資源文件打不開: " + path);} catch (IOException e) {log.severe("資源文件打不開: " + path);}data.setRows(rows);return data;}public static Data getDataByResourcePath(String path) {log.info("load resource: " + path);try {path = Main.class.getResource(path).getPath();return getDataByPath(path);}catch (NullPointerException e) {log.severe("資源文件找不到: " + path);}return new Data();}} package cn.amlove.csvparse;import java.util.ArrayList; import java.util.Map;public class Data {private String path;public String getPath() {return path;}public void setPath(String path) {this.path = path;}private Map<String, Integer> headers;private ArrayList<Map<String, String>> rows;public Map<String, Integer> getHeaders() {return headers;}public void setHeaders(Map<String, Integer> headers) {this.headers = headers;}public ArrayList<Map<String, String>> getRows() {return rows;}public void setRows(ArrayList<Map<String, String>> rows) {this.rows = rows;}}轉載于:https://my.oschina.net/vb2005xu/blog/920072
總結
以上是生活随笔為你收集整理的commons-csv 使用记叙的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: image
- 下一篇: 英雄联盟云顶之弈枪手阵容搭配什么 英雄资