我需要将两个CSV文件中的数据合并到具有相似标题但根据其各自部分的不同数据。 CSV文件将包含两个部分,第一部分包含根据扇区的数据,第二部分将包含来自住宅区的数据。这是我的第一个CSV文件
.\WsusUtil.exe configuresslproxy "IP" "Port" -enable
.\upddwnldcfg.exe /s:IP:Port /allusers
netsh winhttp import proxy source=ie #the IE settings are already configured
我的第二个CSV文件
Sector,Total Number of Occurrence
sector1,12
sector2,30
sector3,100
House,Total Number of Occurrence
B12,80
A2,87
我希望生成一个包含两个数据的CSV文件,但必须将数据分配到正确的部分,如下所示
Sector,Total Number of Occurrence
sector 99,89
sector 11,9
House,Total Number of Occurrence
Q11,22
Q22,67
但我想我目前开发的源代码,它无法做到这一点,因为它包含CSV中列出的第二个标题Sector,Total Number of Occurrence
sector1,12
sector2,30
sector3,100
sector 99,89
sector 11,9
House,Total Number of Occurrence
B12,80
A2,87
Q11,22
Q22,67
。我可以知道如何实现我想要的输出吗?这是我当前的csv输出看起来像
House,Total Number of Occurrence
这是我目前开发的源代码
Sector,Total Number of Occurrence
sector1,12
sector2,30
sector3,100
House,Total Number of Occurrence
B12,80
A2,87
sector 99,89
sector 11,9
House,Total Number of Occurrence
B12,80
A2,87
答案 0 :(得分:1)
首先,创建一个类来存储标题和每一行。
public class SubFile{
private String headers;
private List<String> lines
}
然后,每行读取文件行。
对于第一行,只需使用标题创建一个新的SubFile
实例。以下每一行,在此实例中添加它们(addLine
)。
你需要存储更多的一个“sub”csv,所以使用Collection
,在这里,我会使用List
,因为为什么不... {/ p>
List<SubFile> files;
每次读取标题(第一行或空行之后)时,都需要检查该标题是否与Collection
中的实例匹配以继续添加,或创建实例。
public SubFile getInstance(String headerLine){
/*
instance = search instance in collection
if (instance not found)
create instance
add it to the list
return instance
*/
}
我相信这很容易实现,所以我先让你试试,你有算法可以使用。