2016-04-06 6 views
2

Ich brauche das Wort "Schließen", die durch Tab getrennt am Ende der ersten Zeile mit Java zu löschen. Der Rest der Datei sollte unverändert bleiben. wie kann ich das tun?Wie zu beseitigen Tabs Spalte CSV-Datei in Java

"Close" is tabbed

Ich versuche, diesen Code anzupassen:

public class removezero{ 
    public static void main(String[] args) throws Exception { 

    //scanner to read csv file 
    Scanner replace = new Scanner(new File("csvfile")); 


    //array of string 
    String [][] all= new String [10][10]; 

    //new csv file to write answer 
    FileWriter removezero = new FileWriter(createReplacedCsv()); 

    int i=0; 
    StringBuilder builder = new StringBuilder(); 

    //write csv to array 




    while (replace.hasNext()) { 

       String[] result = replace.nextLine().split(","); 

       all[i]= result; 
       i++; 


    } 


     // write from array to builder 

    for(int j=0;j<5; j++){ 
     for(int k=0;k<5; k++) 
      if(!(all[1][k]).equals("0")){builder.append(all[j][k]).append(",");} 
      builder.deleteCharAt(builder.lastIndexOf(",")); 
      builder.append("\n"); 
    } 


    //write to csv file 
     removezero.write(builder.toString()); 
     removezero.flush(); 
     removezero.close(); 

    } 




private static File createReplacedCsv() throws Exception { 
    File replacedCsv = new File("removedzero.csv"); 
    replacedCsv.createNewFile(); 
    return replacedCsv; 
} 
} 

Dank

Antwort

0

Sie sagen definieren:

private static String removeTabbedColumn(String line) { 
    int indexOfTab = line.indexOf('\t'); 
    if (indexOfTab == -1) { 
     return line; 
    } else { 
     return line.substring(0, indexOfTab); 
    } 
} 

Jetzt können Sie verwenden

String[] result = removeTabbedColumn(replace.nextLine()).split(","); 

Ich habe nicht getestet.

0

Warum Sie keine CsvParser verwenden, zum Beispiel https://commons.apache.org/proper/commons-csv/

final CSVParser parser = new CSVParser(reader, CSVFormat.EXCEL.withHeader()); 
try { 
    for (final CSVRecord record : parser) { 
     final String string = record.get("SomeColumn"); 
     // Get the intended columns here. 
    } 
Verwandte Themen