Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
666 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  fichier CSV

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fichier CSV

n°933206
bruno29
Posté le 28-12-2004 à 18:51:43  profilanswer
 

je suis entrain de lire et d'ecrire sur un fichier .CSV dont le format n'est pas du texte mais des données hexa ou  des caracteres ascii en hexa de ce type:
0001,0002,000a,001f,2020,3232 etc et le fichier fait 1.3Mo.
lorsque j utilise print#, write#, put etc, les données sont modifiées avec des "" ou des sauts à la lignes ou autres caracteres genant.
 
lire le fichier Ok mais l'ecrire dans sont format d'origine impossible  
 
DE L AIDE Merci

mood
Publicité
Posté le 28-12-2004 à 18:51:43  profilanswer
 

n°937501
rage44
Posté le 05-01-2005 à 09:55:02  profilanswer
 

J'ai déjà eu quelques problèmes pour ajouter une première ligne à un fichier avec ces fonctions. J'avais une première ligne que je voulais effacer et remplacer par une autre, malheureusement la nouvelle ligne contenait moins de caractères et il me restait des caractères parasites en fin de ligne, voir des retours chariots, et j'obtenais aussi des données binaires en début de ligne.
Au final voici comment on a fait:

Code :
  1. 'quand on exporte une chaîne à taille fixe on a un export propre
  2. 'mais il faut connaître à l'avance la taille des enregistrements
  3. 'à écraser (et l'ajout d'espaces en fin de taille fixe ne marche
  4. 'pas bien.
  5. 'A l'inverse il est aisé de remplacer une ligne avec une
  6. 'chaîne 'classique' mais Access ajoute 2 octets de description
  7. 'binaires devant cette chaîne.
  8. 'On va donc mettre des blancs dans la première ligne avec la 1ere
  9. 'méthode puis mettre le vrai contenu de cette première ligne avec
  10. 'une chaîne fixe de taille inférieure...
  11. 'remplir la première ligne avec des espaces
  12. Open CheminFichierTxt For Random As #FileNumber Len = nb + 2
  13. Dim maString As String
  14. maString = Space(nb - 2) & vbCrLf
  15. 'Ce put avec une string 'classique' va mettre deux octets en début de ligne
  16. 'par contre, contrairement au put à taille fixe qui suit plus bas il peut
  17. 'compléter la ligne avec des blancs, jusqu'au bout
  18. Put #FileNumber, 1, maString
  19. Close #FileNumber
  20. 'mettre ce qu'on veut vraiment dans maString
  21. maString = "toto....."
  22. Dim chainefixe01 As String * 55
  23. nb = nb - Len(chainefixe01)
  24. chainefixe01 = maString
  25. 'le put marche mieux avec du taille fixe, il ne va pas mettre les deux octets en début de ligne
  26. Open CheminFichierTxt For Random As #FileNumber Len = Len(chainefixe01) + 2
  27. Put #FileNumber, 1, chainefixe01
  28. Close #FileNumber

n°938305
bruno29
Posté le 05-01-2005 à 18:37:47  profilanswer
 

Oui j'ai trouvé la solution en ouvrant tout le fichier dans des donnée(x,y) et en recompilant pour le réecrire dans le fichier avec la fonction print #1 qui ne met pas de " en début mais seulement retour chariot et passge à la ligne mais dont mon automate OMRON ne fais pas attention.IL  me reste à trouver comment faire des graphiques avec mes infos merci bye


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  fichier CSV

 

Sujets relatifs
Sortie en fichier Word ou excelScript d'automatisation de transfert de fichier via FTP
ouvrir et modifier un fichier word en asp.netun masque de fichier pour un <input type="file">
charger un fichier csv sur une feuille Excel[resolu] compter les lignes d'un fichier .csv
MySQL (export de données en fichier CSV) ?[Java] parser fichier CSV... JDBC ?
fonction permettant de convertir un fichier xls en csvcomment enregistrer un fichier CSV en format XLS
Plus de sujets relatifs à : fichier CSV


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR