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

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

🟣 Parsing d'un CSV qui se dit charset=binary


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

Mention KrustyHack
🥉 Grade : Scout

AuxiliaireNarcissiqueIngénieur web
Inscription : 2015-12-02
Messages : 660
Likes : 4

Adminstration Serveur
Adminstration Serveur
Adminstration Serveur
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, développement web et scripts, ... https://www.alsahack.com !

0
J'aime ❤️

🔴 Hors ligne

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

Mention razbithume
🥉 Grade : Scout

AuxiliaireStratègeMembre Hospitalier
Inscription : 2013-09-17
Messages : 827
Likes : 1

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 !

0
J'aime ❤️

🔴 Hors ligne

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

Mention Sylvain
🥈 Grade : Soldier

Membre du CercleOfficierNarcissiqueForce PolyvalenteStratège100likes
Inscription : 2014-04-07
Messages : 816
Likes : 110

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...

0
J'aime ❤️

🔴 Hors ligne

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

Mention KrustyHack
🥉 Grade : Scout

AuxiliaireNarcissiqueIngénieur web
Inscription : 2015-12-02
Messages : 660
Likes : 4

Adminstration Serveur
Adminstration Serveur
Adminstration Serveur
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, développement web et scripts, ... https://www.alsahack.com !

0
J'aime ❤️

🔴 Hors ligne

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

Mention Sylvain
🥈 Grade : Soldier

Membre du CercleOfficierNarcissiqueForce PolyvalenteStratège100likes
Inscription : 2014-04-07
Messages : 816
Likes : 110

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...

0
J'aime ❤️

🔴 Hors ligne

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

Mention ciboulette
🥉 Grade : Scout

Auxiliaire
Inscription : 2015-11-01
Messages : 391
Likes : 5

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

0
J'aime ❤️

🔴 Hors ligne

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

Mention KrustyHack
🥉 Grade : Scout

AuxiliaireNarcissiqueIngénieur web
Inscription : 2015-12-02
Messages : 660
Likes : 4

Adminstration Serveur
Adminstration Serveur
Adminstration Serveur
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, développement web et scripts, ... https://www.alsahack.com !

0
J'aime ❤️

🔴 Hors ligne

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

Mention ZeNobral
♟️ Grade : Recruit

DiscipleStratège
Inscription : 2015-04-27
Messages : 17
Likes : 0

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?

0
J'aime ❤️

🔴 Hors ligne

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

Mention KrustyHack
🥉 Grade : Scout

AuxiliaireNarcissiqueIngénieur web
Inscription : 2015-12-02
Messages : 660
Likes : 4

Adminstration Serveur
Adminstration Serveur
Adminstration Serveur
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, développement web et scripts, ... https://www.alsahack.com !

0
J'aime ❤️

🔴 Hors ligne

Pied de page des forums