gpt4 book ai didi

java - 如何在 CSV 文件中重复大行旁边的小行? (也许是 VLOOKUP 函数?)

转载 作者:行者123 更新时间:2023-11-30 06:52:48 25 4
gpt4 key购买 nike

我可以使用 Excel 或 Regex 来完成此操作吗?

我有一小行(两列),后面是多行,每行 7 列。我不知道每个单元格的确切内容,也不知道每个小行后面有多少大行。

我想要的是将小行移动到以下所有大行旁边。

我想要这个:

title1, title2
bla, wla, bla, tra, bla, vla, bla
bla, wa, bla, bla, sla, bla, pla
bla, wa, sla, na, wla, kla, pla
title3, title4
bla, wa, sla, na, wla, kla, pla
bla, wa, bla, bla, sla, bla, pla
bla, wla, bla, tra, bla, vla, bla
bla, wla, bla, tra, bla, vla, bla
bla, wa, bla, bla, sla, bla, pla
title5, title6
bla, wla, bla, tra, bla, vla, bla
bla, wa, bla, bla, sla, bla, pla
title7, title8
bla, wa, bla, bla, sla, bla, pla
...
...

变成这样:

title1, title2, bla, wla, bla, tra, bla, vla, bla
title1, title2, bla, wa, bla, bla, sla, bla, pla
title1, title2, bla, wa, sla, na, wla, kla, pla
title3, title4, bla, wa, sla, na, wla, kla, pla
title3, title4, bla, wa, bla, bla, sla, bla, pla
title3, title4, bla, wla, bla, tra, bla, vla, bla
title3, title4, bla, wla, bla, tra, bla, vla, bla
title3, title4, bla, wa, bla, bla, sla, bla, pla
title5, title6, bla, wla, bla, tra, bla, vla, bla
title5, title6, bla, wa, bla, bla, sla, bla, pla
title7, title8, bla, wa, bla, bla, sla, bla, pla
...
...

谢谢大家!

最佳答案

这是一个 Java 代码,它可以实现您想要做的事情。它读取您在上面的问题中给出的输入文件,然后使用基本的解析逻辑,写出您想要的格式。逻辑的关键是检查当前行中逗号数量的行。如果它只看到一个逗号,那么它会缓存该行,该行将在后续行中使用,将单个逗号作为这些行的前缀。

public static void main(String[] args) throws SQLException {
File in = new File("C:\\path\\to\\input.txt");
File out = new File("C:\\path\\to\\output.txt");
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(in));
bw = new BufferedWriter(new FileWriter(out));
String header = "";

do {
String line = br.readLine();
if (line == null) break;
int numCommas = line.length() - line.replace(",", "").length();
if (numCommas == 1) {
header = line;
}
else {
bw.write(header + ", " + line);
bw.newLine();
}
} while (true);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) br.close();
if (bw != null) bw.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

如果您对 Java 的了解不够多,无法使用它,那么您需要以某种方式自己解决这个问题。这是 Java 程序所能得到的最简单的框架。

此代码在 IntelliJ 上进行了本地测试,并且似乎可以正常工作。

关于java - 如何在 CSV 文件中重复大行旁边的小行? (也许是 VLOOKUP 函数?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42416353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com