Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

Annonce

Participez au Concours Seo 2016 Officiel ! | Faites un bond en avant avec la formation SEO Ranking Skills le 15 Février 2017

#1 2016-03-04 14:57:43

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 429

Adminstration Serveur
Sécurité
Automatisation Web
Développement Python
Site Web

Parsing d'un CSV qui se dit charset=binary

Ay,

Aujourd'hui, petit question sur un CSV:


root@root:~/tmp/import# file -i import.csv
import.csv: application/octet-stream; charset=binary
 

Les CSV ne sont pas censés être des fichiers de type "text/csv" ? Là je récup' le CSV depuis un site distant et je galère à parser le bordel.


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#2 2016-03-05 11:12:07

Mention razbithume
Soldier
Inscription : 2013-09-17
Messages : 758

Audit et Analyse
Scraping
Marketing
Site Web

Re : Parsing d'un CSV qui se dit charset=binary

tu as essayé open refine pour traiter ton fichier ? (spéciale dedicace à @ZeNobral)


Vive les regex et le xpath !

Hors ligne

#3 2016-03-05 11:20:47

Mention Sylvain
Soldier
Inscription : 2014-04-07
Messages : 468

Développement Python
Audit et Analyse
Sémantique
Advertising

Re : Parsing d'un CSV qui se dit charset=binary

utilise file en mode debug (-d) tu pourras voir ce qui fait qu'il pense voir un binaire, et ensuite tu pourras aviser (souvent c'est que le fichier est généré avec des fins de lignes exotiques, ou un truc du genre)


Tant va la loutre à l'eau qu'à la fin elle se mouille...

Hors ligne

#4 2016-03-07 09:49:36

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 429

Adminstration Serveur
Sécurité
Automatisation Web
Développement Python
Site Web

Re : Parsing d'un CSV qui se dit charset=binary

Ay,

J'ai pas encore testé Open Refine mais j'ai checké le "file -id" et il me semble qu'il y a des symboles de merde qui font que le fichier est vu comme un binaire.

Pareil avec "vi", impossible de l'éditer...


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#5 2016-03-07 10:27:57

Mention Sylvain
Soldier
Inscription : 2014-04-07
Messages : 468

Développement Python
Audit et Analyse
Sémantique
Advertising

Re : Parsing d'un CSV qui se dit charset=binary

Pour trouver les char merdiques (=non ascii) :

grep -P '[\x7f-\xff]' nom_de_fichier


Tant va la loutre à l'eau qu'à la fin elle se mouille...

Hors ligne

#6 2016-03-07 14:04:11

Mention ciboulette
Soldier
Inscription : 2015-11-01
Messages : 258

Re : Parsing d'un CSV qui se dit charset=binary

essaie de voir si ton truc c'est pas un ZIP plutot qu'un CSV , je préfère souvent me fié au MIME plutôt que l'extension

Hors ligne

#7 2016-03-07 17:13:49

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 429

Adminstration Serveur
Sécurité
Automatisation Web
Développement Python
Site Web

Re : Parsing d'un CSV qui se dit charset=binary

Ay,

Bon bah le "grep -P '[\x7f-\xff]' nom_de_fichier" ne donne rien... Sérieux WTF ! lol

J'ai checké et le résultat du check du mime-type:


file --mime-type import.tmp.csv
import.tmp.csv: application/octet-stream
 

On est d'accord que ce n'est pas normal que ce soit un application/octet-stream ? Ou c'est moi ?


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#8 2016-03-08 16:34:29

Mention ZeNobral
Recruit
Inscription : 2015-04-27
Messages : 16

Audit et Analyse
Scraping
Python

Re : Parsing d'un CSV qui se dit charset=binary

Une fois j'avais eu le cas,
j'avais suivi ce tuto : https://www.twobitcoder.com/?p=84

Je sais pas si ca va t'aider?

Hors ligne

#9 2016-03-08 16:45:49

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 429

Adminstration Serveur
Sécurité
Automatisation Web
Développement Python
Site Web

Re : Parsing d'un CSV qui se dit charset=binary

Ay,

Merci, je vais regarder ça. Par contre c'est quoi le délire du site ? Impossible de sélectionner le site sans être renvoyé vers le formulaire de commentaire... C'est un bug ou c'est voulu ? Bon le snippet est pas long mais c'est... gavant. smile

Edit: j'ai testé et ça laisse le fichier en binary mais je peux le voir correctement avec vi. En fait ça a le même résultat que mon:


while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "$line" >> import.csv
done < "import.tmp.csv"
 

Sauf que c'est plus court. smile

Dernière modification par KrustyHack (2016-03-08 16:49:13)


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

Pied de page des forums