comment faire pour supprimer les guillemets doubles lors de la lecture de CSV
public class CSVTeast {
public static void main(String[] args) {
CSVTeast obj = new CSVTeast();
obj.run();
}
public void run() {
String csvFile = "D:\\text.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = "~";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
//use comma as separator
String[] csvRead = line.split(cvsSplitBy);
System.out.println("Value [date= " + csvRead[5]
+ " , name=" + csvRead[9]+"]");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("Done");
}
}
De sortie est
Value [date= "POLICY_CHANGE_EFFECTIVE_DATE" , name="AGENCY_NAME"]
Value [date= "2014-04-01" , name="USI INSURANCE SERVICES]--this value stated with double qoutes but not end with same .
Sortie attendue
Value [date= POLICY_CHANGE_EFFECTIVE_DATE , name=AGENCY_NAME]
Value [date= 2014-04-01 , name=USI INSURANCE SERVICES]
- Pouvez-vous poster le contenu du fichier csv ainsi?
- si ce n'est pas trop de mal à un upvote pour la réponse serait utile, merci 🙂
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer de passer la valeur à travers la Chaîne.replace() méthode.
De sorte que votre code serait:
Il y a une belle CSV Reader pour Java qui va gérer le désordre de cela pour vous, http://opencsv.sourceforge.net/
Il a une maven paquet si votre projet maven, sinon vous pouvez télécharger les Pots là.
Si le qoutemarks sont au début de chaque CSV ligne, vous pouvez le faire:
Qui permettra de supprimer le premier et le dernier caractère de la chaîne. Vous avez ensuite besoin de stocker les résultats quelque part ou de les imprimer.
Il est également important de vérifier si la Chaîne commence par un guillemet double, sinon le code de début de supprimer le premier caractère de la valeur de rachat de la valeur. Je le fais dans mon code dans une de mes applications, où mon CSV valeur est à venir dans rowData[1] qui ont parfois des guillemets, et parfois ça ne marche pas, en fonction du nombre de mots dans la Chaîne de valeur.