Можем ли мы добавить новый столбец в CSV в качестве последнего столбца, в котором уже есть, скажем, 3 столбца с некоторыми данными в нем?Таким образом, этот новый будет добавлен позже как 4-й столбец, причем для каждой строки в нем должны быть случайные числа.
Пример,
Id Name Address Calculated
1 John U.K. 341679
2 Vj Aus 467123
3 Scott U.S. 844257
Из того, что я понимаю, для этого потребуется сначала прочитать csv,Цикл for может повторяться до последнего столбца, а затем добавлять новый вычисляемый столбец, т.е. записывать в csv.И для добавления значений может быть случайный класс Java.Но как именно это можно сделать, это реальный вопрос.Как пример кода будет полезно.
Код:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Demo1 {
public static void main(String[] args) throws IOException {
String csvFile = "C:\\MyData\\Input.csv";
String line = "";
String cvsSplitBy = ",";
String newColumn = "";
List<String> aobj = new ArrayList<String>();
/* Code to read Csv file and split */
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
while ((line = br.readLine()) != null)
{
String[] csvData = line.split(cvsSplitBy);
int arrayLength = csvData.length;
}
}
/* Code to generate random number */
String CHARS = "1234567890";
StringBuilder random = new StringBuilder();
Random rnd = new Random();
while (random.length() < 18) { // length of the random string.
int index = (int) (rnd.nextFloat() * CHARS.length());
random.append(CHARS.charAt(index));
}
String finaldata = random.toString();
}
}