微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何读取Java中的.csv文件,其中包含多行的单元格?

我正在尝试读取Java程序中的.csv文件。 该文件有一些包含多行的单元格。

我在一个Linux操作系统,所以我试图删除与下列换行符:

awk -v RS =“”'{gsub(/ n /,“”)} 1'cleanPaperAuthor.csv> cleanPaperAuthor1.csv

DID导致单元格中的多行数据全部显示在一行上。 但是当我试图读取java中的文件时,读者仍然认为它在单元数据中间遇到了行尾。

从excel中删除大量的行

合并CSV文件:附加而不是合并

Python – ValueError:float()的无效文字

从Linux'ps'生成一个CSV列表

用AWK增加date几天和几个月

所以我试了awk -v RS =“”'{gsub(/ r /,“”)} 1'cleanPaperAuthor1.csv> cleanPaperAuthor2.csv

这导致.csv文件中的所有数据放在一行上。

于是我试了awk -v RS =“”'{gsub(/ r n /,“”)} 1'cleanPaperAuthor.csv> cleanPaperAuthor3.csv。

我不确定,如果这工作 – 我仍然在打开文件的过程。

我知道那里有一个CSVReader类,但是我真的很想弄清楚我可以做什么,而不必处理设置和更改代码。 任何人有任何想法? 在这一点上,我完全糊涂了。

LINUX – Shell脚本 – 从平面文件生成地图(键值对)

在shell中将.txt转换为.csv

合并很多大型CSV文件(在Linux中)

加载数据infile,区别Windows和Linux

使用脚本将.csv文件加载到MysqL数据库

使用CSV解析器非常简单; 设置和API。 而且,除了处理跨越多行的值之外,还可以处理带引号的元素中的逗号等内容,并且只对引号内的值进行解析。 此外,您还可以使用该库将文本序列化回CSV。

以下是OpenCSV读取一行csv值的示例。

String input = "value1,"value2","value3,1234","value4n" + "value5n" + "value6""; try (CSVReader reader = new CSVReader(new StringReader(input))) { String [] tokens; while ((tokens = reader.readNext()) != null) { System.out.println(Arrays.toString(tokens)); } } catch (IOException e) { e.printstacktrace(); }

输出:( “value3,1234”是一个值。)

[value1,value2,value3,1234,value4 value5 value6]

只要确保将Apache Commons Lang 3.x jar添加到您的类路径中即可 。

String UPLOADED_FOLDER = "/home/Rahul/Developement/Rahul/personal/uploadedfile/"; try { // ** get the file and store at to that location ** byte[] bytes = file.getBytes(); Path path = Paths.get(UPLOADED_FOLDER + file.getoriginalFilename()); Files.write(path,bytes); redirectAttributes.addFlashAttribute("You successfully uploaded '" + file.getoriginalFilename() + "'"); } catch (IOException e) { e.printstacktrace(); } try { String fileName = file.getoriginalFilename(); System.out.println("/home/Rahul/Developement/Rahul/personal/uploadedfile/" + fileName); String filePath = new File("/home/Rahul/Developement/Rahul/personal/uploadedfile/") .getAbsolutePath(); boolean check = true; File file1 = new File("/home/Rahul/Developement/Rahul/personal/uploadedfile/" + fileName); System.out.println(file1.exists()); // TO CHECK FILE IS CSV OR NOT if (fileName.endsWith(".csv")) { check = true; System.out.println("extension"); if (!fileName.isEmpty()) { // *** to read the file from the location // **("/home/Rahul/Developement/Rahul/personal/uploadedfile/")** BufferedReader br = new BufferedReader(new FileReader( "/home/Rahul/Developement/Rahul/personal/uploadedfile/" + fileName)); InputStream is = new FileInputStream( "/home/Rahul/Developement/Rahul/personal/uploadedfile/" + fileName); }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐