Tag: csv

将CSV文件转换为Java – 向后复制

我之前曾问过一个关于在CSV中将CSV文件转换为2D数组的问题。 我完全重写了我的代码,它几乎是在重做。 我现在唯一的问题是它向后打印。 换句话说,列是打印行应该是,反之亦然。 这是我的代码: int [][] board = new int [25][25]; String line = null; BufferedReader stream = null; ArrayList csvData = new ArrayList (); stream = new BufferedReader(new FileReader(fileName)); while ((line = stream.readLine()) != null) { String[] splitted = line.split(“,”); ArrayList dataLine = new ArrayList(splitted.length); for (String data : splitted) dataLine.add(data); csvData.addAll(dataLine); } […]

Java到CSV文件,SuperCSV Dozer:如何避免嵌套对象的循环

我有以下课程.. SurveyResponse.java import java.util.List; public class SurveyResponse { private int age; private Boolean consentGiven; private List answers; public SurveyResponse() { } public SurveyResponse(final int age, final Boolean consentGiven, final List answers) { this.age = age; this.consentGiven = consentGiven; this.answers = answers; } public int getAge() { return age; } public List getAnswers() { return answers; […]

如何使用supercsv跳过仅限空格的行和具有可变列的行

我正在研究CSV解析器要求,我正在使用supercsv解析器库。 我的CSV文件可以有25列(由制表符(|)分隔)和最多100k行以及其他标题行。 我想忽略只有空格的行和包含少于25列的行。 我正在使用IcvBeanReader和名称映射(将csv值设置为pojo)和字段处理器(以处理validation)来读取文件。 我假设Supercsv IcvBeanReader默认会跳过空白行。 但如果一行包含少于25个列号,如何处理?

NoClassDefFoundError:com.opencsv.CSVWriter

我尝试使用opencsv libray来获取加密格式数据。 但在写入CSV编写器时,我得到“NoClassDefFoundError”。 我已经看到许多相关错误的post,并且几乎尝试了所有的事情,但仍然无法纠正问题。 下面链接有相同的错误。 csv description1 csv description2 CSVHelper代码: public String stringify(List objects) throws IllegalArgumentException { if (objects == null || objects.isEmpty()) throw new IllegalArgumentException(“List of objectes passed is either null or empty”); List strList = new ArrayList(); // add header record strList.add(objects.get(0).getColumnHeaders()); Iterator it = objects.iterator(); while (it.hasNext()) { SerializeableToCSV element = it.next(); […]

bean中的JSF CSV下载

我试图以与此处相同的方式进行csv下载: 如何从JSF支持bean提供文件下载? 我的响应一直在output.write()行抛出nullPointerException 。 bean是请求范围。 关于空指针的任何想法? try { //submitForm(); FacesContext fc = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse(); response.reset(); response.setContentType(“text/csv”); //response.setContentLength(contentLength); response.setHeader ( “Content-disposition”, “attachment; filename=\”Reporting-” + new Date().getTime() + “.csv\”” ); OutputStream output = response.getOutputStream(); String s = “\”Project #\”,\”Project Name\”,\”Product Feature(s)\”,”; s+=”\”Project Status\”,”; s+=”\”Install Type\”,”; s+=”\”Beta Test\”,\”Beta Test New/Updated\”,”; s+=”\”Production\”,\”Production New/Updated\”,”; s+=”\n”; InputStream […]

以编程方式将smvs中的csv映射到java无法处理空Double

我正在使用smooks库快速简便地解析csv文件,以编程方式将它们映射到POJO。 但是我在处理POJO的Double属性上的空字段时遇到了麻烦。 例如,java对象具有: public class MulticashHeader { // … private Double c06; private static Double c07; private Double c08; private Double c09; private String c10; // … public Double getC06_SaldoInicial() { return c06_SaldoInicial; } /** * @param c06_SaldoInicial the c06_SaldoInicial to set */ public void setC06_SaldoInicial(Double c06_SaldoInicial) { if (c06_SaldoInicial != null) this.c06_SaldoInicial = c06_SaldoInicial; […]

从CSV文件计算平均值

我有一个CSV文件,格式如下: City,Job,Salary Delhi,Doctors,500 Delhi,Lawyers,400 Delhi,Plumbers,100 London,Doctors,800 London,Lawyers,700 London,Plumbers,300 Tokyo,Doctors,900 Tokyo,Lawyers,800 Tokyo,Plumbers,400 Lawyers,Doctors,300 Lawyers,Lawyers,400 Lawyers,Plumbers,500 Hong Kong,Doctors,1800 Hong Kong,Lawyers,1100 Hong Kong,Plumbers,1000 Moscow,Doctors,300 Moscow,Lawyers,200 Moscow,Plumbers,100 Berlin,Doctors,800 Berlin,Plumbers,900 Paris,Doctors,900 Paris,Lawyers,800 Paris,Plumbers,500 Paris,Dog catchers,400 我想找到工资总额的平均值。 这是我的代码: `import java.io. *; 公共类A { public static void main(String args[]) { A a= new A(); a.run(); } public void run() { String csv=”C:\\Users\\Dipayan\\Desktop\\salaries.csv”; […]

Spring批处理:输入资源不存在类路径资源

我目前正在开发一个弹簧批处理,它在第一步将Excel(.xsls)文件转换为CVS,然后读取CVS处理它并将其数据存储在数据库中。 第一步效果很好。 批处理停止在第二步抛出此警告:输入资源不存在类路径资源[C:/work/referentielAgenceCE.csv]。 在我的代码之后: spring-config.xml: step1:convertXLSXtoCVS.java public class convertXLSXtoCVS implements Tasklet, InitializingBean{ @Value(“${batch.referentielAgenceCE.inputFilePathXLSX}”) private String inputFile; @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception { System.out.println(“convertXLSXtoCVS.execute1”); // For storing data into CSV files StringBuffer data = new StringBuffer(); try { File outputFile = new File(getOutputFile(inputFile)); FileWriter fw = new FileWriter(outputFile.getPath()); BufferedWriter fos = new […]

在Java中读取一行csv文件

我有一个目前有20行数据的csv文件。 数据包含员工信息,格式如下: 名字,姓氏,员工ID 所以一行会这样:Emma,Nolan,2 我知道如何在java中写入文件并将所有20行打印到控制台,但我不知道该怎么做才能让Java将一条特定的行打印到控制台。 我还想在最后一个条目中获取最后一个员工ID号,并在我添加新员工时将java添加1。 我认为这需要通过计数器来完成,而不知道如何。

Java Regex删除开始/结束单引号但留下引号

我有来自CSV文件的数据,该文件用单引号括起来,例如: ‘Company name’ ‘Price: $43.50’ ‘New York, New York’ 我希望能够在值的开头/结尾替换单引号,但在数据中保留引号,例如: ‘Joe’s Diner’ should become Joe’s Diner 我可以 updateString = theString.replace(“^'”, “”).replace(“‘$”, “”); 但我想知道我是否可以将它组合起来只进行一次替换。