Scinder 1 fichier au format csv en plusieurs fichiers csv
Résolu/FerméPYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - 6 sept. 2022 à 10:40
- Découper fichier csv en plusieurs
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment découper un pdf - Guide
6 réponses
5 sept. 2022 à 16:41
Bonjour,
Donc chaque découpes est enregistrer comme nouveu fichier cvs.... Oui / Non?
Merci de fournir au moins 5 à 10 lignes du fichier à scinder!
Pour joindre le fichier via https://www.cjoint.com/
suivre les instructions et coller le lien sur nouveau poste.
Modifié le 5 sept. 2022 à 16:44
Bonjour,
7zip permet de diviser un fichier, sur 7zip, sur la liste des fichiers, clic-droit diviser en, suivant la taille, je ne sais pas si il respecte les sauts de ligne.
Ou un petit batch ligne de commande : https://www.developpez.net/forums/d1502877/general-developpement/programmation-systeme/windows/scripts-batch/diviser-fichier-texte-sous-windows/#post8153273
facilement adaptable pour créer une première ligne avec les titres de colonnes.
Modifié le 5 sept. 2022 à 17:09
Bonjour jee pee,
Clic-droit sur 7zip, je n'ai pas trouvé de diviser en ...
Pour la 2ème solution, j'ai créé un .bat sans succès...
Merci quand même !
Cdlt
5 sept. 2022 à 19:05
Le script fonctionne, il avait juste une erreur de compteur de ligne sur le 1 fichier
@echo off setLocal EnableDelayedExpansion set limit=10000 set file=splitA.txt set lineCounter=1 set filenameCounter=1 set name= set extension= for %%a in (%file%) do ( set "name=%%~na" set "extension=%%~xa" ) set splitFile=!name!!filenameCounter!!extension! for /f "tokens=*" %%a in (%file%) do ( if !lineCounter! geq !limit! ( set /a filenameCounter=!filenameCounter! + 1 set splitFile=!name!!filenameCounter!!extension! echo Nouveau fichier !splitFile! set lineCounter=0 ) echo %%a>> !splitFile! set /a lineCounter=!lineCounter! + 1 ) pause
sinon il faudrait nous donner un fichier exemple.
Pour 7zip, il faut lancer 7zip d'abord, et dans 7zip, parcourir les fichiers + clic-droit.
5 sept. 2022 à 19:22
Voilà en dupliquant le premier enregistrement contenant le nom des colonnes sur chaque fichier
@echo off setLocal EnableDelayedExpansion set limit=2 set file=splitcsv.csv set lineCounter=0 set filenameCounter=1 set name= set extension= for %%a in (%file%) do ( set "name=%%~na" set "extension=%%~xa" ) set col= set splitFile=!name!!filenameCounter!!extension! for /f "tokens=*" %%a in (%file%) do ( if "!col!" == "" ( set col=%%a) if !lineCounter! gtr !limit! ( set /a filenameCounter=!filenameCounter! + 1 set splitFile=!name!!filenameCounter!!extension! echo !col! > !splitFile! echo Nouveau fichier !splitFile! set lineCounter=1 ) echo %%a>> !splitFile! set /a lineCounter=!lineCounter! + 1 ) pause
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question5 sept. 2022 à 20:13
Bonjour,
Eh bien je vais pas trouver mieux, je quitte le poste.
Modifié le 6 sept. 2022 à 10:41
Bonjour,
Merci jee pee pour cette solution (*.bat) qui fonctionne bien !
Et Merci à Le Pingou pour ta participation !
Bonne journée !
Modifié le 5 sept. 2022 à 17:09
Bonjour Le Pingou,
Oui pour chaque découpe un nom différent souhaité
Pour exemple le fichier à scinder se nomme MTT.csv
Le résultat sera :
MTT01.CSV
MTT02.CSV
MTT03.CSV .......etc
https://www.cjoint.com/c/LIfo2GzKsdV
Cdlt