完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道,可以更好地对用户的软件使用全周期进行更加专业地服务。
CSV(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,要读写CSV文件需要CSVWriter和CSVReader。
Java 读写编辑CSV格式文件的类 为删除HTML标记添加CSVStripTags。
CSVReader/Writer includes four Java classes: CSVWriter, CSVReader, CSVPack and CSVAlign for reading and writing CSV files. Also handles tabseparated and semicolonseparated files. This is the format use by Microsoft Word and other Microsoft products. This version does not support # embedded comments.
"锦囊妙技"栏目是聚合全网软件使用的技巧或者软件使用过程中各种问题的解答类文章,栏目设立伊始,小编欢迎各路软件大神朋友们踊跃投稿,在完美者平台分享大家的独门技巧。
本站文章素材来源于网络,大部分文章作者名称佚失,为了更利于用户阅读和使用,根据需要进行了重新排版和部分改编,本站收录文章只是以帮助用户解决实际问题为目的,如有版权问题请联系小编修改或删除,谢谢合作。
软件大小:2.74 MB
最常用的一种方法,利用pandas包import pandas as pd#任意的多组列表a = [1,2,3]b = [4,5,6] #字典中的key值即为csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#将DataFrame存储为csv,index表示是否显示行名,default=Truedataframe.to_csv("test.csv",index=False,sep=',')1234567891011a_name b_name0 1 41 2 52 3 6同样pandas也提供简单的读csv方法,import pandas as pddata = pd.read_csv('test.csv')12会得到一个DataFrame类型的data。另一种方法用csv包,一行一行写入import csv#python2可以用file替代openwith open("test.csv","w") as csvfile:writer = csv.writer(csvfile)#先写入columns_namewriter.writerow(["index","a_name","b_name"])#写入多行用writerowswriter.writerows([[0,1,3],[1,2,3],[2,3,4]])12345678910index a_name b_name0 1 31 2 32 3 41234读取csv文件用readerimport csvwith open("test.csv","r") as csvfile:reader = csv.reader(csvfile) #这里不需要readlinesfor line in reader:print line
import csvf=open('b.csv','rb')reader=csv.reader(f)for line in reader: print linef.close()
package ImportTestData; import java.io.BufferedReader; import java.io.FileReader; public class Test { public static void main(String[] args) { try { BufferedReader reader = new BufferedReader(new FileReader("a.csv"));//换成你的文件名 reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉 String line = null; while((line=reader.readLine())!=null){ String item[] = line.split(",");//CSV格式文件为逗号分隔符文件,这里根据逗号切62616964757a686964616fe59b9ee7ad9431333339663964分 String last = item[item.length-1];//这就是你要的数据了 //int value = Integer.parseInt(last);//如果是数值,可以转化为数值 System.out.println(last); } } catch (Exception e) { e.printStackTrace(); } } }
下面演示一段操作代码仅供参考: Java代码 package com.syc.test.bean; public class ReslutBean { String help_keyword_id; String name; public String getHelp_keyword_id() { return help_keyword_id; } public void setHelp_keyword_id(String help_keyword_id) { this.help_keyword_id = help_keyword_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } [java] view plain copy package com.syc.test.bean; public class ReslutBean { String help_keyword_id; String name; public String getHelp_keyword_id() { return help_keyword_id; } public void setHelp_keyword_id(String help_keyword_id) { this.help_keyword_id = help_keyword_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } Java代码 package com.syc.test.javaCSV; import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import com.csvreader.CsvReader; import com.csvreader.CsvWriter; import com.syc.test.DAO.ConnectionDB; import com.syc.test.bean.ReslutBean; public class Java2CSV { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // 从获取将要写入csv文件的结果集 List<ReslutBean> list = new ArrayList<ReslutBean>(); list = ConnectionDB.querySQL(); // 预组装csv文件内容标题行 String[][] data = new String[list.size() + 1][2]; data[0][0] = "Help_keyword_id"; data[0][1] = "Name"; // 预组装csv文件内容 int len = list.size(); for (int i = 0; i < len; i++) { data[i + 1][0] = list.get(i).getHelp_keyword_id(); data[i + 1][1] = list.get(i).getName(); } writerCsv("e://c测试.csv", data); readerCsv("e://c测试.csv"); } /** * 读取csv * * @param csvFilePath * @throws Exception */ public static void readerCsv(String csvFilePath) throws Exception { CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("GBK"));// shift_jis日语字体,utf-8 reader.readHeaders(); String[] headers = reader.getHeaders(); List<Object[]> list = new ArrayList<Object[]>(); while (reader.readRecord()) { list.add(reader.getValues()); } Object[][] datas = new String[list.size()][]; for (int i = 0; i < list.size(); i++) { datas[i] = list.get(i); } /* * 以下输出 */ for (int i = 0; i < headers.length; i++) { System.out.print(headers[i] + "\t"); } System.out.println(""); for (int i = 0; i < datas.length; i++) { Object[] data = datas[i]; // 取出一组数据 for (int j = 0; j < data.length; j++) { Object cell = data[j]; System.out.print(cell + "\t"); } System.out.println(""); } } /** * 写入csv * * @param csvFilePath文件名路径 * +文件名字 * @param data数据项 */ public static void writerCsv(String csvFilePath, String[][] data) { CsvWriter writer = null; try { writer = new CsvWriter(csvFilePath, ',', Charset.forName("GBK"));// shift_jis日语字体,utf-8 for (int i = 0; i < data.length; i++) { writer.writeRecord(data[i]); } } catch (IOException e) { e.printStackTrace(); } finally { writer.close(); } } } [java] view plain copy package com.syc.test.javaCSV; import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import com.csvreader.CsvReader; import com.csvreader.CsvWriter; import com.syc.test.DAO.ConnectionDB; import com.syc.test.bean.ReslutBean; public class Java2CSV { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // 从获取将要写入csv文件的结果集 List<ReslutBean> list = new ArrayList<ReslutBean>(); list = ConnectionDB.querySQL(); // 预组装csv文件内容标题行 String[][] data = new String[list.size() + 1][2]; data[0][0] = "Help_keyword_id"; data[0][1] = "Name"; // 预组装csv文件内容 int len = list.size(); for (int i = 0; i < len; i++) { data[i + 1][0] = list.get(i).getHelp_keyword_id(); data[i + 1][1] = list.get(i).getName(); } writerCsv("e://c测试.csv", data); readerCsv("e://c测试.csv"); } /** * 读取csv * * @param csvFilePath * @throws Exception */ public static void readerCsv(String csvFilePath) throws Exception { CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("GBK"));// shift_jis日语字体,utf-8 reader.readHeaders(); String[] headers = reader.getHeaders(); List<Object[]> list = new ArrayList<Object[]>(); while (reader.readRecord()) { list.add(reader.getValues()); } Object[][] datas = new String[list.size()][]; for (int i = 0; i < list.size(); i++) { datas[i] = list.get(i); } /* * 以下输出 */ for (int i = 0; i < headers.length; i++) { System.out.print(headers[i] + "\t"); } System.out.println(""); for (int i = 0; i < datas.length; i++) { Object[] data = datas[i]; // 取出一组数据 for (int j = 0; j < data.length; j++) { Object cell = data[j]; System.out.print(cell + "\t"); } System.out.println(""); } } /** * 写入csv * * @param csvFilePath文件名路径 * +文件名字 * @param data数据项 */ public static void writerCsv(String csvFilePath, String[][] data) { CsvWriter writer = null; try { writer = new CsvWriter(csvFilePath, ',', Charset.forName("GBK"));// shift_jis日语字体,utf-8 for (int i = 0; i < data.length; i++) { writer.writeRecord(data[i]); } } catch (IOException e) { e.printStackTrace(); } finally { writer.close(); } } } 当然你还可以用supecsv 或者 opencsv啦。