Avec quoi Ouvrir Un gros csv sans perte

Signaler
Messages postés
166
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
18 mai 2020
-
Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020
-
Bonjour à tous,

J’aimerais exploiter une BD ouverte en csv qui comprend près de 8millions de lignes (véhicules en circulation au Qc).
J’aimerais avoir vos recommendations pour savoir quel logiciel utiliser (à bas coût de préférence) pour pouvoir en faire l’analyse sans perte de données. En effet lorsque je tente de l’ouvrir dans Excel (dernière version Office 360 sur Mac), j’ai l’impression que c’est tronqué car trop de lignes.

Merci

7 réponses

Messages postés
11460
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
bonjour,
tu peux enregistrer ces données dans Excel, si tu ne les mets pas toutes dans le même onglet.
tu n'indiques pas ce que tu souhaites faire comme analyse: est-ce vraiment nécessaire de tout enregistrer dans Excel?
Messages postés
166
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
18 mai 2020
9
En fait c'est une base de données ouvertes csv avec la liste des 8M de véhicules immatriculés au Qc. Je veux pouvoir faire des analyses pour en interprétés par exemple le nombre de véhicule par catégorie et par région, etc. qui sont tous des champts (colonnes).
https://www.donneesquebec.ca/recherche/fr/dataset/vehicules-en-circulation/resource/4bb416f3-8aea-4f8e-8e07-562f73629003?view_id=306c43c3-dd5a-42d2-b47b-70edcd6cc7a9

Donc ça ne m'arrange pas trop d'importer la BD sur 8 onglets, car je sent que ce sera compliquer après pour faire de l'analyse.

J'ai découvert sur l'aide la fonction Get&transforme dans Excel. Cela semble permettre au fichier de se connecter à une BD sans l'importer. Cependant, quand j'essaye, ça ne fait que l'importer justement, et là, même problème de taille....

Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020
6 474
Bonjour,

Excel c'est max 1 million et quelques de lignes.

8 millions de lignes et 850 MO c'est hors cadre.

La solution c'est charger les données dans une (vraie) base de données, par exemple mysql (moi j'utiliserais Oracle) et l'interroger avec en langage sql (ou installer un outil d'interrogation plus convivial, style PowerBi)

Mais cela requiert un minimum de technicité en informatique.

Messages postés
11460
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
Alors Access est probablement un bon candidat.
Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020
6 474 >
Messages postés
11460
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020

Oui probablement. Je ne suis pas utilisateur d'access mais j'ai téléchargé le CSV et il s'ouvre dans access qui semble faire un lien avec le csv sans l'importer. Mais même sur mon pc plutot puissant, access se retrouve vite en statut windows "ne répond pas" quand on essaie de juste faire défiler les lignes, il y en a 6 608 227. Un éditeur texte comme notepad++ semble plus efficient sur ce fichier texte qu'access ;-)
Messages postés
11460
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655 >
Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020

probablement préférable de l'importer pour avoir des performances parfaites, comme notepad++.
bonjour
excel peut recevoir plus d'un million de lignes
les versions recentes d'avantage
Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020
6 474
avec mon excel 2016 on ne lit que 1 048 576 lignes du fichier .csv (2 puissance 20)
Messages postés
166
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
18 mai 2020
9 >
Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020

Exact. Excel ne suffit pas
sqlite serait un bon candidat pour lire toute ses données sans perte.
Trauq
Messages postés
166
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
18 mai 2020
9
Bonjour tout le monde. Merci pour vos suggestions, mais tel que discuté je suis sur un mac malheureusement. Avez vous des suggestions adaptées ?
Merci
Messages postés
11460
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
Tu n'as pas Microsoft Access?
Messages postés
11460
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
En quoi MySQL n'est-il pas adapté?
Bonjour,
Je pense que le travail que tu demandes n'est pas adapté pour un tableur(excel, calc ou autre).
Il faut pour cela avoir un outil qui correspond plus à ta demande.
Dans ton cas un base de données correspondrait (postgresql, mysql,sqlite3, ...)
Ton soucis est qu'il faut apprendre la syntaxe pour exécuter ce travail.
Ce qui demandera du temps au début. mais qui sera rentabiliser par la suite.
De quel outil disposes-tu sur mac? pour réaliser la besogne ?
Et, es-tu prêt à perdre du temps pour en gagner (ce qui s'accompagne, aussi, de te rendre les choses plus simple).
Trauq
Messages postés
166
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
18 mai 2020
9 > trauqnej
Pour l’instant je n’ai pas d’outil particulier et s il faut que j apprennes le sql alors j’apprendrais :) comme tu dis ça va me faire gagner du temps. Par contre je peux pas me permettre de payer cher pour un SGBD
Messages postés
36605
Date d'inscription
mercredi 5 novembre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2020
3 304 >
Messages postés
166
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
18 mai 2020

Pas mal de SGBD sont gratos, vous pouvez partir sur mariaDB, une très bonne alternative à mysql qui à la même syntaxe et le même fonctionnement.
Messages postés
29070
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
3 juillet 2020
6 474
Je relance cette discussion suite à une demande de même type : https://forums.commentcamarche.net/forum/affich-36718337-ouvrir-un-csv-trop-volumineux-faire-des-requetes où j'ai découvert l'importation dans Excel avec Power Query.

J'ai voulu tester cela sur le fichier issu de cette discussion.

Voilà ce que j'ai appliqué dans Excel 2016 : Données/Nouvelle requete/A partir d'un fichier/fichier CSV, donner emplacement fichier csv
Une fois le fichier présenté cliquer Modifier

Dans la barre de menu "Regrouper par" / Marque + Type + Région /Nombre/Compter

Attendre, ... Puis fermer et charger, on a alors le résultat dans excel, un fichier de 8500 lignes :



J'ai un pc plutot puissant et il bien du être saturé pendant 2/3 minutes. Mais on a le résultat d'une requête sur un fichier de plusieurs millions de lignes.