Java 如何读取csv文件中的指定行
我有从1980年开始的csv文件中的每日数据。但我只想读1985年的数据。因为另一个文件中的另一个数据集从1985年开始。我怎么能不读1985年以前的Java数据呢?也许这对你有帮助。它讨论InputStream的seek()函数 您可以在witch byte中计算1985年的数据,并使用seek()跳过此字节。我建议使用命令行实用程序过滤数据,而不是开发自定义解决方案Java 如何读取csv文件中的指定行,java,file,csv,opencsv,Java,File,Csv,Opencsv,我有从1980年开始的csv文件中的每日数据。但我只想读1985年的数据。因为另一个文件中的另一个数据集从1985年开始。我怎么能不读1985年以前的Java数据呢?也许这对你有帮助。它讨论InputStream的seek()函数 您可以在witch byte中计算1985年的数据,并使用seek()跳过此字节。我建议使用命令行实用程序过滤数据,而不是开发自定义解决方案 grep 1985 *.csv > data_from_1985.csv 如果您需要一个更好的表达式来过滤数据以避免虚
grep 1985 *.csv > data_from_1985.csv
如果您需要一个更好的表达式来过滤数据以避免虚假数据,您可以使用它进行测试
例如,如果CSV中的行以年份开头,则可以使用
grep "^1985" *.csv > data_from_1985.csv
阅读opencsv文档:
阅读每一行(来自示例):
转换为整数
int one_value=Integer.parseInt(nextLine[i]); // iterate i
然后,获取你的“年份”栏,并将其与1985年的Madhu进行比较——如果你使用的是openCSV,那么请查看javadocs中的。这将为您提供一个很好的示例,说明如何解析一个文件,只读取列与给定条件匹配的行。逐行阅读,跳过1985年以前的行?到目前为止您尝试了什么?你哪里有问题?请出示您遇到问题的基本代码。您如何阅读?有小溪吗?你分了吗?每行都有固定的大小吗?您需要使用文件读取器类发布更多详细信息阅读.csv文件,是的,每一行的大小都是固定的。只有答案的质量很差,因为链接本身在将来可能变得不可用……我解释了解决方案,我很抱歉。@MadhuSudhanBaddam。您的年份肯定在一列中定义。你没有精确的csv结构,Madhu-Guillaume是正确的。是,您希望读取行,但希望基于列值进行筛选。
int one_value=Integer.parseInt(nextLine[i]); // iterate i