Dimensionner les colonnes d'un fichier .CSV
Dimensionner les colonnes d'un fichier .CSV
Bonsoir,
Peut-on dimensionner les colonnes d'un fichier.CSV en Pb?
Merci
Peut-on dimensionner les colonnes d'un fichier.CSV en Pb?
Merci
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
Re: Dimensionner les colonnes d'un fichier .CSV
Je suppose que tu veux dire connaitre le nombre maximum de caractères de chaque champs pendant la lecture pour ensuite dimensionner les colonne d'un l'objet comme le ListIcon ?
Si oui, alors il suffit au moment de la découpe par StringField de compter la longueur de la chaine Len()
Si Len(chaine coupée) > Max alors Max=Len(chaine coupée)
Si oui, alors il suffit au moment de la découpe par StringField de compter la longueur de la chaine Len()
Si Len(chaine coupée) > Max alors Max=Len(chaine coupée)
Re: Dimensionner les colonnes d'un fichier .CSV
Salut Marc56
Ce que tu proposes me permet de connaître la longueur de chaque champs (nombre de caractères), mais comment dimensionner les colonnes du fichier csv? (colonne plus large ou moins large). Quand on crée un fichier csv, toutes les colonnes ont la même taille (en largeur).
Ce que tu proposes me permet de connaître la longueur de chaque champs (nombre de caractères), mais comment dimensionner les colonnes du fichier csv? (colonne plus large ou moins large). Quand on crée un fichier csv, toutes les colonnes ont la même taille (en largeur).
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
Re: Dimensionner les colonnes d'un fichier .CSV
Tu ne confonds pas avec autre chose ?omega a écrit : Ce que tu proposes me permet de connaître la longueur de chaque champs (nombre de caractères), mais comment dimensionner les colonnes du fichier csv? (colonne plus large ou moins large). Quand on crée un fichier csv, toutes les colonnes ont la même taille (en largeur).
Un fichier CSV n'a pas de "largeur de colonne" et même pas de colonne.
Ce sont juste des chaines avec des séparateurs.
D'une ligne à l'autre, les chaines n'ont pas besoin d'avoir la même longueur.
https://fr.wikipedia.org/wiki/Comma-separated_values
Il existe aussi une façon de stocker les données sous forme de bloc de texte (utilisés dans d'anciens systèmes)
Dans ce cas, chaque enregistrement est composé d'une ligne et chaque champs fait la même taille.
On découpe ensuite par longeur (comme avec Mid())
On peut créer ce type de fichier avec PB en utilisant par exemple LSet() et Rset() pour remplir les champs et avoir la même longueur.
Re: Dimensionner les colonnes d'un fichier .CSV
Bonjour,
Pour moi un CSV peut avoir un séparateur et/ou une taille fixe, cela ne change en rien le format. Pour en revenir a ta question, je penses que LSet() ou Rset() répond à ce que tu cherche, exemple :
Cordialement,
GallyHC
Pour moi un CSV peut avoir un séparateur et/ou une taille fixe, cela ne change en rien le format. Pour en revenir a ta question, je penses que LSet() ou Rset() répond à ce que tu cherche, exemple :
Code : Tout sélectionner
Debug LSet("AAAAAA", 4)
Debug RSet("AAAAAA", 4)
Debug LSet("AAAAAA", 20, "-")
Debug RSet("AAAAAA", 20, "-")
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Dimensionner les colonnes d'un fichier .CSV
Non, je vois que vous ne m'avez pas compris ou alors c'est moi qui m'explique mal. Un fichier CSV contient des champs séparés par un délimiteur: ok, nous sommes d'accords là dessus. Généralement quand on crée un fichier dans ce format, le but est de l'utiliser comme une feuille excel n'est ce pas? sinon à quoi cela va servir? J'ai développé un logiciel de gestion et comme toujours, un de mes clients souhaite que chaque tableau (ListIconGadget) soit exportable vers excel, et c'est exactement ce que je cherche à faire. Cependant, une fois le fichier csv créé, je remarque que certains champs ne sont pas lisibles à cause justement de la taille de l'espace (que j'ai appelée colonne) et qui est plus petite que la longueur du champs. J'espère que c'est clair à présent.
Alors? existe t-il une solution non manuelle pour agir sur cette taille?
Merci
Alors? existe t-il une solution non manuelle pour agir sur cette taille?
Merci
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
- Mindphazer
- Messages : 700
- Inscription : mer. 24/août/2005 10:42
Re: Dimensionner les colonnes d'un fichier .CSV
Je vois pas le rapport avec PB
Si j'ai bien compris (?), ton programme génère ton fichier .csv que tu ouvres avec Excel.
Ce dernier ne change pas la taille des colonnes par rapport à la longueur de chaque champ entre tes points virgule
La mise en forme des colonnes Excel (taille,,etc) est sauvegardée quand tu enregistres ton tableau au format .xls(x)
Du coup, tu pourras faire ce que tu veux dans ton programme, ça changera rien.
Ou peut-être que j'ai rien compris à ta demande.
Si j'ai bien compris (?), ton programme génère ton fichier .csv que tu ouvres avec Excel.
Ce dernier ne change pas la taille des colonnes par rapport à la longueur de chaque champ entre tes points virgule
La mise en forme des colonnes Excel (taille,,etc) est sauvegardée quand tu enregistres ton tableau au format .xls(x)
Du coup, tu pourras faire ce que tu veux dans ton programme, ça changera rien.
Ou peut-être que j'ai rien compris à ta demande.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: Dimensionner les colonnes d'un fichier .CSV
Donc, ce n'est pas possible. Il va falloir faire ça manuellement (c'est ce que j'ai voulu éviter mais ... ben.. j'ai pas le choix à présent).
Merci beaucoup à tous
Bonne continuation
Merci beaucoup à tous
Bonne continuation
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
- Mindphazer
- Messages : 700
- Inscription : mer. 24/août/2005 10:42
Re: Dimensionner les colonnes d'un fichier .CSV
Jette éventuellement un oeil ici : https://www.purebasic.fr/english/viewto ... 52#p504952
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: Dimensionner les colonnes d'un fichier .CSV
Je crois plutôt que tu souhaites savoir si on peut paramétrer la tailles des colonnes (A,B,C,D....) dans excel lorsqu'on importe un CSV ?
C'est ça ? Parce que sinon oublie.. tes histoires de colonnes dans un fichier CSV qui est un simple fichier texte.
Et si je me trompe, j'aimerai tout de même comprendre ta requête.
C'est frustrant que tu poses une question puis sans vraiment avoir de réponse tu passes à autre chose.
C'est quoi "faire ça manuellement ?" en PB ? Sur Excell ? En PB pour élargir les colonnes excell ?
C'est ça ? Parce que sinon oublie.. tes histoires de colonnes dans un fichier CSV qui est un simple fichier texte.
Et si je me trompe, j'aimerai tout de même comprendre ta requête.
C'est frustrant que tu poses une question puis sans vraiment avoir de réponse tu passes à autre chose.
C'est quoi "faire ça manuellement ?" en PB ? Sur Excell ? En PB pour élargir les colonnes excell ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Dimensionner les colonnes d'un fichier .CSV
Pour redimensionner d'un coup toutes les colonnes à la largeur du plus grand texte de chacune:
- Un clic en haut à gauche (intersection des noms de lignes et de colonnes)
- Un double-clic sur un des séparateurs de colonnes dans la ligne d'entête
Re: Dimensionner les colonnes d'un fichier .CSV
@Ar-S
Oui, c'est exactement ce que je cherche à faire mais en créant un fichier csv (ou excel) et non pas en l'important.Je crois plutôt que tu souhaites savoir si on peut paramétrer la tailles des colonnes (A,B,C,D....) dans excel lorsqu'on importe un CSV ?C'est ça ?
Je sais qu'un fichier csv est un simple fichier texte mais je sais aussi qu'un tel fichier ressemble (à 99%) à une feuille excel (puisqu'on l'ouvre avec excel) et donc, il contient des colonnes comme une feuille excel. Sinon, pourquoi créer un fichier csv si ce n'est uniquement pour l"utiliser comme Excel??Parce que sinon oublie.. tes histoires de colonnes dans un fichier CSV qui est un simple fichier texte.
Tu l'as déjà comprise à ce que je sache. Mon but, je le répète c'est d'exporter le contenu de ma ListIconGadget vers EXCEL, et pour cela (d'après mes connaissances) il faut impérativement utiliser un fichier csv comme destinataire. C'est ce que j'ai fait. Ce qui me dérange maintenant, c'est la taille de l'espace réservé à chaque champs sur le fichier csv (que je préfère appeler fichier excel).j'aimerai tout de même comprendre ta requête.
Et que ferais tu à ma place? Tu as une meilleure idée??C'est frustrant que tu poses une question puis sans vraiment avoir de réponse tu passes à autre chose.
Tout simplement ajuster les largeurs des colonnes de chaque champs manuellement (en utilisant les outils de l'excel bien entendu) puisqu'on a convenu que cette opération est impossible de le faire en pb?? Il ne reste plus qu'à ouvrir le fichier Créé (csv), dimensionner les colonnes à l'aide de la souris puis enregistrer le fichier et c'est ce que je viens de faire.C'est quoi "faire ça manuellement ?" en PB ? Sur Excell ? En PB pour élargir les colonnes excell ?
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
Re: Dimensionner les colonnes d'un fichier .CSV
Bonjour,
Ne crois-tu pas qu'un exemple de ce que tu as et de ce que tu voudrais mis en balise code, ne serait pas plus simple a comprendre (2/3 lignes de chaque exemple)?
Cordialement,
GallyHC
Ne crois-tu pas qu'un exemple de ce que tu as et de ce que tu voudrais mis en balise code, ne serait pas plus simple a comprendre (2/3 lignes de chaque exemple)?
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Dimensionner les colonnes d'un fichier .CSV
Non, on ne l'ouvre pas avec Excel. Excel l'importe plus ou moins automatiquement en tant que fichier de données.Je sais qu'un fichier csv est un simple fichier texte mais je sais aussi qu'un tel fichier ressemble (à 99%) à une feuille excel (puisqu'on l'ouvre avec excel) et donc, il contient des colonnes comme une feuille excel.
Si on le laisse en CSV, ce sera juste du texte les formules, formats, pages etc ne seront pas sauvegardée.
Le format CSV sert partout. Notamment pour faire des import / export entre bases de données.Sinon, pourquoi créer un fichier csv si ce n'est uniquement pour l"utiliser comme Excel??
Les fichier de log (d'Apache par exemple) sont des CSV
Non, pas forcément.Mon but, je le répète c'est d'exporter le contenu de ma ListIconGadget vers EXCEL, et pour cela (d'après mes connaissances) il faut impérativement utiliser un fichier csv comme destinataire.
Tu peux créer directement des fichiers au format Excel qui seront ouverts sans devoir être importés
Les premiers fichiers Excel étaient au format .Dif C'est du texte brut, donc facile à construire
Data Interchange Format
https://fr.wikipedia.org/wiki/Data_Interchange_Format
Les fichiers .xls sont un format propriétaire mais tu peux en créer par exemple en VBScript
Les dernières versions (depuis office 2007) utilisent le format xlsx qui est un assemblage de fichiers XML et de fichier texte, le tout Zippé. Le description de ce format est disponible.
Re: Dimensionner les colonnes d'un fichier .CSV
Pour résumer..
Il ne FAUT PAS que tu exportes en CSV.. si tu veux des colonnes de tailles spéciales...
Et non un CSV n'est pas du tout comme du xslx.. La preuve c'est que si tu fais un simple txt avec le bloc note contenant sur 2 lignes :
et que tu le sauves en le renommant test.csv au lieu de test.txt, il s'ouvrira avec ton excell comme un CSV, à savoir séparer par des colonnes sur 2 lignes.
Pour voir comment c'est foutu, sauve avec excell le fichier créé ci dessus au format xlsx puis ouvre le avec 7zip (ou autre gestionnaire d'archives). Tu verras qu'il contient 3 dossiers avec différents fichiers xml (style, template etc...) Ce sont ces fichiers qui stock ta mise en page.
Il te faut donc créer un XLSX.. Ce qui doit être faisable vu que c'est du xml zippé... A toi d'analyser les choses à modifier dans ces xml puis de re zipper l'archive en .xlsx.
Il ne FAUT PAS que tu exportes en CSV.. si tu veux des colonnes de tailles spéciales...
Et non un CSV n'est pas du tout comme du xslx.. La preuve c'est que si tu fais un simple txt avec le bloc note contenant sur 2 lignes :
Code : Tout sélectionner
toto;10;chocolat
tata;15;cacaoPour voir comment c'est foutu, sauve avec excell le fichier créé ci dessus au format xlsx puis ouvre le avec 7zip (ou autre gestionnaire d'archives). Tu verras qu'il contient 3 dossiers avec différents fichiers xml (style, template etc...) Ce sont ces fichiers qui stock ta mise en page.
Il te faut donc créer un XLSX.. Ce qui doit être faisable vu que c'est du xml zippé... A toi d'analyser les choses à modifier dans ces xml puis de re zipper l'archive en .xlsx.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels