Введение
Я работаю над проектом по автоматизации, чтобы освоить новые приемы в Java и науке о данных (на очень простом уровне), все самообучаемо.
Проблема
Вот пример .csv-файла того, как я храню эти данные.
Date when obtained
Format for identifying the numbers below
data
.
.
.
.
data
CSV, который я сейчас использую.
2018/12/29
name,quantity,quality,realmQ,cost
Tejido,321 908,13.55,43.18,$15.98,
Ropa,195 045,20.55,45.93,$123.01,
Gorra de visera,126 561,17.43,42.32,$79.54,
Cerveza,80 109,3.37,17.93,$12.38,
Mercancías de playa,75 065,11.48,39.73,$105.93,
Bebidas alcohólicas,31 215,4.84,27.90,$32.29,
Artículos de cuero,19 098,23.13,44.09,$198.74,
Bolsas y carteras,7 754,23.09,41.34,$1 176.54,
2018/12/30
name,quantity,quality,realmQ,cost
Tejido,252 229,12.86,43.14,$18.87,
Ropa,132 392,18.09,46.02,$177.58,
Gorra de visera,87 676,14.42,42.46,$122.48,
Cerveza,44 593,2.72,17.79,$18.71,
Mercancías de playa,44 593,8.26,39.56,$200.78,
Bebidas alcohólicas,27 306,4.30,23.88,$31.95,
Artículos de cuero,16 147,21.08,43.91,$207.49,
Bolsas y carteras,6 552,21.11,40.59,$1 195.41,
2019/01/02
name,quantity,quality,realmQ,cost
Tejido,321 908,13.55,43.18,$15.98,
Ropa,195 045,20.55,45.93,$123.01,
Gorra de visera,126 561,17.43,42.32,$79.54,
Cerveza,80 109,3.37,17.93,$12.38,
Mercancías de playa,75 065,11.48,39.73,$105.93,
Bebidas alcohólicas,31 215,4.84,27.90,$32.29,
Artículos de cuero,19 098,23.13,44.09,$198.74,
Bolsas y carteras,7 754,23.09,41.34,$1 176.54,
2019/01/03
name,quantity,quality,realmQ,cost
Tejido,321 908,13.55,43.18,$15.98,
Ropa,195 045,20.55,45.93,$123.01,
Gorra de visera,126 561,17.43,42.32,$79.54,
Cerveza,80 109,3.37,17.93,$12.38,
Mercancías de playa,75 065,11.48,39.73,$105.93,
Bebidas alcohólicas,31 215,4.84,27.90,$32.29,
Artículos de cuero,19 098,23.13,44.09,$198.74,
Bolsas y carteras,7 754,23.09,41.34,$1 176.54,
Я хочу сделать его динамичным, а также больше.Вместо нескольких файлов .csv, классифицированных по дате, я решил иметь один большой файл .csv для хранения всего, и это результат.
Код, который я использовал до сих пор, может прочитать один файл .csv, но если я добавлю большеданные ниже.Не работаетЯ знаю, что это связано с циклом, как я вижу в отладчике, но все еще не могу найти правильное решение.
Код
public class CSVinput {
static String[] nombre = new String[8];
static int[] cantidad = new int[8];
static double[] calidad = new double[8];
static double[] realmQ = new double[8];
static double[] coste = new double[8];
public static void ImportData(String path) throws FileNotFoundException
{
/*Can only load one csv with 8 stuff in it*/
System.out.println("Presenting data...");
try (Scanner scan = new Scanner(new File(path))) {
scan.useDelimiter(",");
String date = scan.nextLine();
System.out.println("fecha: " + date);
scan.nextLine();
int index = 0;
while(scan.hasNext() == true)
try{
{
String name = scan.next().replaceAll("\n", "");
nombre[index] = name;
System.out.println("nombre: " + name);
int quantity = Integer.parseInt(scan.next().replaceAll(" ", ""));
cantidad[index] = quantity;
System.out.println("cantidad: " + quantity);
double quality = Double.parseDouble(scan.next());
calidad[index] = quality;
System.out.println("calidad: " + quality);
double realmq = Double.parseDouble(scan.next());
realmQ[index] = realmq;
System.out.println("realmQ: " + realmq);
double cost = Double.parseDouble(scan.next().replace("$", "").replace(" ", ""));
coste[index] = cost;
System.out.println("coste: $" + cost);
index++;
}
} catch(ArrayIndexOutOfBoundsException e){}
}
}
public static void main(String[] args) throws FileNotFoundException
{
ImportData("caca.csv");
}
}
Примечания
Этот опубликованный код является кодом, который работает с одним .csv, и это означает, что вам нужно ввести его, и код должен "разделить" данные, чтобы с ними было легко работать.
2018/12/29
name,quantity,quality,realmQ,cost
Tejido,321 908,13.55,43.18,$15.98,
Ropa,195 045,20.55,45.93,$123.01,
Gorra de visera,126 561,17.43,42.32,$79.54,
Cerveza,80 109,3.37,17.93,$12.38,
Mercancías de playa,75 065,11.48,39.73,$105.93,
Bebidas alcohólicas,31 215,4.84,27.90,$32.29,
Artículos de cuero,19 098,23.13,44.09,$198.74,
Bolsas y carteras,7 754,23.09,41.34,$1 176.54,
То, что я ожидал
Было ли это, если я добавлю больше данных .csv ниже предыдущего (в приложении), я хочу, чтобы он прочитал их, независимо от того, какбольшой .csv
Спасибо за интерес к этому вопросу.