我想读取CSV文件并将字符串写入同一csv文件中的下一列。
FsmMorphologicalAnalyzer fsm = new FsmMorphologicalAnalyzer();
try{
CSVReader reader = new CSVReader(new FileReader("/Users/asus/Desktop/morfolojik-veri.csv"));
CSVWriter writer = new CSVWriter(new FileWriter("/Users/asus/Desktop/morfolojik-veri.csv"), '\t');
String [] nextLine;
while ((nextLine=reader.readNext()) != null){
if (nextLine != null) {
FsmParseList fsmParseList = fsm.morphologicalAnalysis(nextLine[0]);
if (fsmParseList.size() != 0) {
FsmParse parse = fsmParseList.getFsmParse(0);
String result = parse.root.toString();
String temp [] = {result.substring(0, result.indexOf(' '))};
writer.writeNext(temp);
}
else {
System.out.println("Nothing");
}
}
}
}catch (Exception e){
System.out.println(e);
}
但是这会在我执行时清除所有文件。 它还向我显示警告:
csvwriter(java.io.Writer,char)已过时。
我应该将其写入新的csv,但我希望它们并排放置。就像第一列是已读列,第二列是已写列。
编辑:在程序启动之前,morfolojik-veri看起来像:
但是我所需要的只是如何在新列中追加或写入新的csv文件。
(对不起我的英语) 谢谢。
答案 0 :(得分:0)
我经常使用OpenCSV。你在做什么不是路要走。 只需读取输入文件,然后将其写入另一个/输出文件即可。
一旦完全完成(处理输入文件):
1)删除旧的/输入文件(或将其重命名为另一个无冲突的名称);
2)将新/输出文件重命名为旧文件名。
这就是您最容易做到的方式。