Tag: csv

在Java中将CSV文件转换为JSON对象

是否有一个开源java库将CSV(或XLS)文件转换为JSON对象? 我尝试使用json.cdl ,但不知何故它似乎不适用于大型CSV字符串。 我正在尝试找到类似http://www.cparker15.com/code/utilities/csv-to-json/的内容 ,但是用Java编写。

使用OpenCSV解析包含Unicode字符的CSV文件

我正在尝试在NetBeans 6.0.1中使用OpenCSV解析.csv文件。 我的文件包含一些Unicode字符。 当我在输出中写入时,角色以其他forms出现,如(HJ1′-E /;)。 当我在记事本中打开此文件时,它看起来没问题。 我用过的代码: CSVReader reader=new CSVReader(new FileReader(“d:\\a.csv”),’,’,’\”,1); String[] line; while((line=reader.readNext())!=null){ StringBuilder stb=new StringBuilder(400); for(int i=0;i<line.length;i++){ stb.append(line[i]); stb.append(";"); } System.out.println( stb); }

用于将XML转换为CSV的XSL:根据数据字段将报价添加到末尾

我正在尝试使用Java代码动态地将XML文件转换为CSV文件。 我能够获得转换为CSV的数据,但问题是我的数据是“”和“,”。 这是我的示例XML: 537316 MANUAL 546 “THIS”,”IS”,FOR,”TEST” 345 这是Java代码: import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; class xmltocsv { public static void main(String args[]) throws Exception { File stylesheet = new File(“C:/testxsl.xsl”); File xmlSource = new File(“C:/test.xml”); DocumentBuilderFactory factory = […]

快速CSV解析

我有一个java服务器应用程序,下载CSV文件并解析它。 解析可能需要5到45分钟,并且每小时发生一次。这种方法是应用程序的瓶颈,因此它不是过早优化。 到目前为止的代码: client.executeMethod(method); InputStream in = method.getResponseBodyAsStream(); // this is http stream String line; String[] record; reader = new BufferedReader(new InputStreamReader(in), 65536); try { // read the header line line = reader.readLine(); // some code while ((line = reader.readLine()) != null) { // more code line = line.replaceAll(“\”\””, “\”NULL\””); // Now remove all of […]

OpenCSV – 如何将所选列映射到Java Bean而不管顺序如何?

我有一个包含以下列的CSV文件: id , fname , telephone , lname , address 。 我有一个带有id , fname和lname数据成员的Person类。 我想从CSV文件中仅将这些列映射到Person对象,并丢弃telephone和address列。 我怎样才能做到这一点? 解决方案必须扩展,因为将来会添加更多列。 并且无论列位置如何都应该工作。 在理想的解决方案中,用户只会指定要读取的列,它应该可以正常工作。

Java:CSV文件易于读​​/写

我正在开发一个需要快速访问CSV逗号分隔的电子表格文件的程序。 到目前为止,我已经能够使用BufferedReader轻松读取它。 但是,现在我希望能够编辑它读取的数据,然后将其导出回CSV。 电子表格包含姓名,电话号码,电子邮件地址等。该程序列出了每个人的数据,当您点击它们时,它会显示一个包含更多详细信息的页面,也可以从CSV中提取。 在该页面上,您可以编辑数据,我希望能够单击“保存更改”按钮,然后将数据导出回CSV中的相应行 – 或删除旧数据,然后附加新数据。 我不太熟悉使用BufferedWriter,或者我应该使用的任何东西。 我开始做的是创建一个名为FileIO的自定义类。 它包含BufferedReader和BufferedWriter。 到目前为止,它有一个返回bufferedReader.readLine()的方法,名为read()。 现在我想要一个名为write(String line)的函数。 public static class FileIO { BufferedReader read; BufferedWriter write; public FileIO (String file) throws MalformedURLException, IOException { read = new BufferedReader(new InputStreamReader (getUrl(file).openStream())); write = new BufferedWriter (new FileWriter (file)); } public static URL getUrl (String file) throws IOException { return //new […]

逐列读取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 = […]

任何好的库来读写csv文件?

可能重复: 适用于Java的CSV API 你能推荐一个Java库来读取(并可能写)CSV文件吗? 我想知道是否有一个支持读写csv文件的好库?

如何在忽略转义逗号的同时拆分逗号分隔的String?

我需要编写一个StringUtils.commaDelimitedListToStringArray函数的扩展版本,它获取一个额外的参数:escape char。 所以打电话给我: commaDelimitedListToStringArray(“test,test\\,test\\,test,test”, “\\”) 应该返回: [“test”, “test,test,test”, “test”] 我目前的尝试是使用String.split()使用正则表达式拆分String: String[] array = str.split(“[^\\\\],”); 但返回的数组是: [“tes”, “test\,test\,tes”, “test”] 有任何想法吗?

在某些情况下,使用双引号解析CSV

我有csv格式: a1,a2,a3,“a4,a5”,a6 只有字段,会有引号 使用Java,如何轻松解析这个? 我尽量避免使用开源CSV解析器作为公司策略。 谢谢。