[英]Merge two rows into one in a CSV file in JAVA
我有一個具有該格式的 CSV:
FASS339XM;4567;false;89590343<br>
940000299;4183;2019-09-02 14:12:18.461819;HW;0986481366<br>
FADS339XM;4446;true;89594343<br>
940000300;4183;2019-09-02 14:12:21.243148;HW;0986481366<br>
FASS339XM;4567;true;89590343<br>
940000301;4183;2019-09-03 09:58:17.173558;HW;0009482803<br>
...
我需要像這樣將兩個不同行的塊合並為一個:
FASS339XM;4567;false;89590343;940000299;4183;2019-09-02 14:12:18.461819;HW;0986481366
FADS339XM;4446;true;89594343;940000300;4183;2019-09-02 14:12:21.243148;HW;0986481366
FASS339XM;4567;true;89590343;940000301;4183;2019-09-03 09:58:17.173558;HW;0009482803
我不知道該怎么做。 我嘗試了幾種方法,但我做不到。 我在 JAVA 和 Spring 批次中開發。
有任何想法嗎?
你可以這樣做:
try (PrintWriter output = new PrintWriter("path/to/output.csv");) {
List<String> lines = Files.readAllLines(Paths.get("path/to/your.csv"));
// assuming your csv has an even number of lines
for (int i = 0; i < lines.size(); i++) {
output.println(lines.get(i) + ";" + lines.get(++i));
}
}
只需使用快速而骯臟的 sed 命令
sed -z -e "s/<br>\n\([^F]\)/;\1/g" -e "s/<br>//g" -i <file>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.