Insertion données
Fermé
cedric
-
2 mars 2015 à 11:23
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 2 mars 2015 à 18:39
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 2 mars 2015 à 18:39
A voir également:
- Insertion données
- Insertion liste déroulante excel - Guide
- Insertion sommaire word - Guide
- Modèle conceptuel de données - Astuces et Solutions
- Exemple base de données access à télécharger gratuit - Forum Access
- Données gps - Guide
3 réponses
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
2 mars 2015 à 11:39
2 mars 2015 à 11:39
Bonjour,
Le souci vient surement de la dernière colonne du fichier text...
En effet, selon comment tu as codé l'import ... il se peut que cette colonne contienne, dans le texte, un caractère compris par ton script comme un séparateur..( virgule ou point-virgule...ou comme je le pense...des tabulations !)
Il faut donc que ton script nettoie ce fichier avant de pouvoir l'importer....
Comme tu connais le nombre de colonnes (ce nombre est fixe je pense...) il te suffit de remplacer toutes les tabulations (ou autre caractère séparateur) de la dernière colonne par des espaces par exemple... Ensuite tu pourras l'importer.
Le souci vient surement de la dernière colonne du fichier text...
En effet, selon comment tu as codé l'import ... il se peut que cette colonne contienne, dans le texte, un caractère compris par ton script comme un séparateur..( virgule ou point-virgule...ou comme je le pense...des tabulations !)
Il faut donc que ton script nettoie ce fichier avant de pouvoir l'importer....
Comme tu connais le nombre de colonnes (ce nombre est fixe je pense...) il te suffit de remplacer toutes les tabulations (ou autre caractère séparateur) de la dernière colonne par des espaces par exemple... Ensuite tu pourras l'importer.
merci pour ta reponse mais je ne voit pas comment faire en java (pck sa doit etre du java, l'environnement de dev utilisé dans ma boite) pour realisé cela
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
2 mars 2015 à 16:41
2 mars 2015 à 16:41
Voici un exemple :
https://javarevisited.blogspot.com/2011/12/java-string-replace-example-tutorial.html
PS: Ta question concernant le langage JAVA et non un problème de base de données à proprement parlé... je déplace le sujet dans la bonne section du forum.
https://javarevisited.blogspot.com/2011/12/java-string-replace-example-tutorial.html
PS: Ta question concernant le langage JAVA et non un problème de base de données à proprement parlé... je déplace le sujet dans la bonne section du forum.
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
2 mars 2015 à 18:39
2 mars 2015 à 18:39
Bonjour,
Le fichier a l'air bien formé, il n'y a pas d'espace ou de tabulation en fin de ligne, et il y a toujours 6 colonnes. Donc pas vraiment besoin de faire du nettoyage, un simple chercher/remplacer sur la tabulation pour le remplacer par un point virgule suffira.
Par contre attention à l'encodage. Car il y a des caractères spéciaux français (les apostrophes notamment), cela peut aussi poser problème pour ton transfert en base de données.
Le fichier a l'air bien formé, il n'y a pas d'espace ou de tabulation en fin de ligne, et il y a toujours 6 colonnes. Donc pas vraiment besoin de faire du nettoyage, un simple chercher/remplacer sur la tabulation pour le remplacer par un point virgule suffira.
Par contre attention à l'encodage. Car il y a des caractères spéciaux français (les apostrophes notamment), cela peut aussi poser problème pour ton transfert en base de données.
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Translate {
public static String translate(String line) {
return line.replace('\t', ';');
}
public static void translate(List<String> lines) {
for (int i = 0; i < lines.size(); i++)
lines.set(i, translate(lines.get(i)));
}
public static void translate(String fileTxt, String fileCsv, Charset charset) throws IOException {
List<String> lines = Files.readAllLines(Paths.get(fileTxt), charset);
translate(lines);
Files.write(Paths.get(fileCsv), lines, charset);
}
public static void main(String[] args) throws IOException {
translate("C:/CIS_HAS_SMR_bdpm.txt", "C:/CIS_HAS_SMR_bdpm.csv", Charset.forName("windows-1252"));
}
}