Tag: csv

在文本字段中使用java – 逗号分隔符读取csv文件

我有一个逗号分隔的CSV文件包含纳斯达克符号。 我使用Scanner读取文件 s = new Scanner(new File(“C:\\nasdaq_companylist.csv”)).useDelimiter(“\\s*,\\s*”); 我在第二个字段上遇到exception。问题是该字段与文件中的其他字段一样也包含逗号,例如“1-800 FLOWERS.COM,Inc。”: FLWS,”1-800 FLOWERS.COM, Inc.”,2.8,76022800,n/a,1999,Consumer Services,Other Specialty Stores,http://www.nasdaq.com/symbol/flws 如何避免这个问题? 我的代码是: List theList = new ArrayList(); StringBuilder sb = new StringBuilder(); //get the title String title = s.nextLine(); System.out.println(“title: “+title); while (s.hasNext()) { String symbol = s.next(); String name = s.next(); double lastSale = s.nextDouble(); long marketCap = s.nextLong(); […]

在java中按升序对csv文件中的一列数据进行排序

import java.io.*; import java.util.*; public class Sort { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new FileReader(“data1.csv”)); Map map=new TreeMap(); String line=””; while((line=reader.readLine())!=null){ map.put(getField(line),line); } reader.close(); FileWriter writer = new FileWriter(“sorted_numbers.txt”); for(String val : map.values()){ writer.write(val); writer.write(‘\n’); } writer.close(); } private static String getField(String line) { return line.split(“,”)[0];//extract value you […]

JSP / Servlets:如何上传zip文件,解压缩并提取CSV文件

想知道如何在JSP / Servlets中执行以下操作: 上传zip文件(包含多个CSV文件) 将文件解压缩为obtian CSV文件 读取CSV文件并将记录泵入mySQL数据库 注意:mySQL表已设置好并可用于CSV文件输入。 提前致谢。

如何从Java中的OS读取“列表分隔符”?

我正在编写一个Java导出器,它应该尊重用户的自定义设置,尤其是用作分隔符的“列表分隔符”。 在Windows中,可以设置此List分隔符 Control Panel -> Regional and Language Options -> Regional Options -> Customize 我不知道其他操作系统,但我很确定你也可以在其他操作系统上改变它。 将此自定义设置从操作系统转换为Java的最佳方法是什么? 我在Eclipse RCP环境中,所以如果有可用的话,我可能会使用与RCP相关的解决方案。

通过opencsv在文件末尾写入

我正在使用opencsv并希望通过多个会话写入.csv文件。 但是,每次启动新的CSVWriter时 ,旧文件都会被删除。 我是否可以将CSVWriter的行为更改为在文件末尾写入而不是替换文件?

解析包含逗号和换行符的逗号分隔值

我有一些特殊字符的字符串。 目的是检索每一行的String [](,分开)你有特殊字符“你可以拥有/ n和, For example Main String Alpha,Beta,Gama,”23-5-2013,TOM”,TOTO,”Julie, KameL Titi”,God,” timmy, tomy,tony, tini”. 你可以看到“/”中有你/ n。 可以帮助我解决这个问题。 谢谢 __更多解释 主要刺痛我需要分开这些 Here Alpha Beta Gama 23-5-2013,TOM TOTO Julie,KameL,Titi God timmy, tomy,tony,tini 问题是:对于Julie,KameL,Titi有换行符/ n或 在KameL和Titi之间类似的问题对于timmy,tomy,tony,tini有断线/ n或者 介于tony和tini之间。 新的这个文本在文件中(强制逐行阅读) Alpha,Beta Charli,Delta,Delta Echo ,Frank George,Henry 1234-5,”Ida, John “, 25/11/1964, 15/12/1964,”40,000,000.00”,0.0975,2,”King, Lincoln “,Mary / New York,123456 12543-01,”Ocean, Peter 输出我想删除这个“ Alpha […]

使用SuperCSVvalidation一次通过中的每个字段

我正在尝试使用SuperCSV将大量行(约200万)从数据库写入CSV文件。 我需要在编写每个单元格时执行validation,内置的CellProcessors非常好。 我想捕获CellProcessors抛出的所有exception,以便我可以返回源数据并进行更改。 问题是当一行中有多个错误时(例如,第一个值超出范围,第二个值为null但不应该是),只有第一个CellProcessor会执行,所以我只会看到一个的错误。 我想在一次传递中处理整个文件,并在其结尾处有一组完整的exception。 这是我正在尝试的方法: for (Row row : rows) { try { csvBeanWriter.write(row, HEADER_MAPPINGS, CELL_PROCESSORS); } catch (SuperCsvCellProcessorException e) { log(e); } } 我怎样才能做到这一点? 谢谢! 编辑:这是我写的代码类似于猎犬的代码,以防它帮助任何人: import java.util.List; import org.supercsv.cellprocessor.CellProcessorAdaptor; import org.supercsv.cellprocessor.ift.CellProcessor; import org.supercsv.exception.SuperCsvCellProcessorException; import org.supercsv.util.CsvContext; public class ExceptionCapturingCellProcessor extends CellProcessorAdaptor { private final List exceptions; private final CellProcessor current; public ExceptionCapturingCellProcessor(CellProcessor current, […]

如何将文本输出到资源文件夹Maven中的文件

这是我的maven项目的结构: main和test文件夹在src文件夹下,java和resources文件夹在main文件夹下,在resources文件夹中,有一个csv文件可供读取。 src –main |– java |– resources |– test.csv test 目前,我正在尝试使用supercsv库覆盖test.csv文件。 我知道public CsvMapWriter(Writer writer, CsvPreference preference)方法对此有所帮助。 所以,我正在尝试使用OutputStreamWriter,但是如何访问该文件就像使用: InputStreamReader reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream(“acacia_implexa.csv”)); mapReader = new CsvMapReader(reader, CsvPreference.STANDARD_PREFERENCE);

如何从Spring Controller中返回浏览器中的CSV数据

假设我在字符串中有CSV数据,并希望从Spring控制器返回它。 想象一下,数据看起来像这样 a,b,c 1,2,3 4,5,6 无论我尝试过什么,新行在响应内容中都是’\ n’,如果我在“\ n”中双重转义它们,响应只包含双反斜杠。 一般来说,如何在没有修改换行符的情况下返回带有换行符的纯文本数据? 我知道如何返回纯文本,但仍然,内容带有转义的换行符……这就是我目前所拥有的(使用Spring 3.0.5,而不是选择) @RequestMapping(value = “/api/foo.csv”) public ResponseEntity fooAsCSV() { HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.add(“Content-Type”, “text/plain; charset=utf-8”); String data = “a,b,c\n1,2,3\n3,4,5”; return new ResponseEntity(data, responseHeaders, HttpStatus.OK); } 从字面上产生字符串 “a,b,c\n1,2,3\n,3,4,5” 在浏览器中。 如上所示,如何使用新线路生成正确的数据?

Java将新列附加到csv文件

我想计算一些列数据并将其作为列写入csv文件。 然后在计算其他数据列后,我想将它附加到同一个文件但作为新列。 这是我做的: try { FileWriter writer = new FileWriter(OUT_FILE_PATH, true); for (int i=0; i<data.size(); i++) { writer.append(String.valueOf(data.get(i))); writer.append(","); writer.append("\n"); } writer.flush(); writer.close(); } catch (Exception e) {} 结果 – 它将新列附加到第一列下方,因此我有一个长列。 谢谢,