im, используя большой файл csv с большим набором данных около 17 атрибутов и приблизительно 40000 строк. я хочу написать i-ю позицию каждого значения строк в обратном порядке (1-я строка с «,» разделенное значение заменяется на 40000-й ит »,« отделяется ... 2-я замена на 39999 ... тоже все) (здесь я извлек 12-е значение = i). Как я могу это сделать, помогите мне. !!написать CSV-файл с модификацией
package demo;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.FileWriter;
import java.io.*;
/**
*
/**
*
* @author admin
*/
public class Demo {
/**
* @param args the command line arguments
*/
public static void main(String[] args)throws IOException {
String filename = "bank-full.csv";
File file = new File(filename);
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter("bank-full_updated.csv"));
}
catch (IOException e) {
}
try {
Scanner inputStream = new Scanner(file);
inputStream.next();
double Tuple;
int count=0;
Tuple = 0;
while (inputStream.hasNext())
{
String data = inputStream.next();
String[] values = data.split(";");
double balance = Double.parseDouble(values[11]);
//balance=balance+1;
values[11] = String.valueOf(balance);
count=count+1;
// iterate through the values and build a string out of them
StringBuilder sb = new StringBuilder();
// String newData = sb.toString();
for (int i = 0; i < values.length; i++) {
sb.append(values[i]);
if (i < values.length - 1) {
sb.append(";");
}
}
// get the new string
System.out.println(sb.toString());
writer.write(sb.toString()+"\n");
}
writer.close();
inputStream.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Код, который вы опубликовали, только смутно связан с оператором проблемы. Просьба уточнить, нужно ли вам перевернуть строки файла (40 000 сменили с 1-м, 39,999-м swappend с 2-м, ...) или вам действительно нужно изменить строки (как указывает ваш код). Вы никогда не говорите, что значение должно увеличиваться, но ваш код увеличивает 12-й элемент (а не 11-й!) Подряд. – laune
sry для этого ... теперь я сделал изменения. Фактически я хочу написать эти значения в обратном порядке. –
Какие "значения"? Строки файла или поля каждой строки? (Если последнее: почему вы отправляете код, который не подходит даже близко?) Если вам нужно отменить строки: читать и хранить строки в «списке», а затем итерации от последнего к первому, как предлагает @OferLando. –
laune