【发布时间】:2015-06-14 14:07:07
【问题描述】:
我有一个非标准化内容的 CSV 文件,它是这样的:
John, 001
01/01/2015, hamburger
02/01/2015, pizza
03/01/2015, ice cream
Mary, 002
01/01/2015, hamburger
02/01/2015, pizza
John, 003
04/01/2015, chocolate
现在,我要做的是在 java 中编写一个逻辑来分隔它们。我希望“John,001”作为标题,并将所有行放在 John 下,在 Mary 之前是 John 的。
这可能吗?还是我应该手动完成?
编辑:
对于输入,即使它没有标准化,一个明显的模式是没有名称的行将始终以日期开头。
我的输出目标是一个 java 对象,我最终可以将它存储在数据库中,格式如下。
Name, hamburger, pizza, ice cream, chocolate
John, 01/01/2015, 02/01/2015, 03/01/2015, NA
Mary, 01/01/2015, 02/01/2015, NA, NA
John, NA, NA, NA, 04/01/2015
【问题讨论】:
-
那么以名称开头的每一行都标志着一个新的 CSV“文件”的开始?
-
确实有可能,但是如果您说输入文件的实际规格是什么而不是让我们猜测会更容易。示例很有用,但不是完整的规范。
-
@Tichodroma 是的,你是对的。
-
除了向我们展示输入模式之外,您还需要根据输出定义成功的样子。您是否正在尝试构建新的输出文件?还是java对象?为什么数据首先是非结构化的?
-
@SergeBallesta 实际上这就是文件的样子,哦,我忘了提到没有名称的行将以日期开头。我将编辑我的问题。