varnie
varnie

Reputation: 2595

pandas read_csv ignores separator

I have a CSV file with the following text in French:

 "Dune!;Jeux"
 "Snapchat;Photo et vidéo"
 "Instagram;Photo et vidéo"
 "YouTube: Regarder & Découvrir;Photo et vidéo"
 "WhatsApp Messenger;Réseaux sociaux"
 "Wish - Acheter en s'amusant;Shopping"
 "Messenger;Réseaux sociaux"

I am unable to read this file as two columns using ; as a separator:

df = pd.read_csv("src.csv",delimiter=';',header=None,encoding="latin-1")
print(df.head())

It gives the following:

                                              0
0                                    Dune!;Jeux
1                       Snapchat;Photo et vidéo
2                      Instagram;Photo et vidéo
3  YouTube: Regarder & Découvrir;Photo et vidéo
4            WhatsApp Messenger;Réseaux sociaux

Looks like the ; as a separator was ignored. What's wrong with my code sample?

Upvotes: 2

Views: 2192

Answers (1)

EdChum
EdChum

Reputation: 393963

it should be sep=';' not delimeter=';':

In[41]:
import io
import pandas as pd
df = pd.read_csv(io.StringIO(t), sep=';', header=None)
df

Out[41]: 
                                0                1
0                           Dune!             Jeux
1                        Snapchat   Photo et vidéo
2                       Instagram   Photo et vidéo
3   YouTube: Regarder & Découvrir   Photo et vidéo
4              WhatsApp Messenger  Réseaux sociaux
5     Wish - Acheter en s'amusant         Shopping
6                       Messenger  Réseaux sociaux

update

Looking at your data, every line is wrapped in quotations so it's not able to parse this correctly, you could just do this as a post processing step using .str.split(';',expand=True)

In[61]:
df1 = df[0].str.split(';',expand=True)
df1

Out[61]: 
                                           0                 1     2
0                                      Dune!              Jeux  None
1                                   Snapchat   Photo et vidéo  None
2                                  Instagram   Photo et vidéo  None
3             YouTube: Regarder & Découvrir   Photo et vidéo  None
4                         WhatsApp Messenger  Réseaux sociaux  None
5                Wish - Acheter en s'amusant          Shopping  None
6                                  Messenger  Réseaux sociaux  None
7                                    Bitmoji       Utilitaires  None
8                 Sonic Forces: Speed Battle              Jeux  None
9                                  Dunk Shot              Jeux  None
10                                  Facebook  Réseaux sociaux  None
11                                   Netflix    Divertissement  None
12                           Super Mario Run              Jeux  None
13       Tu préfères?  Choix impossibles              Jeux  None
14            Waze - GPS et trafic en direct        Navigation  None
15                            Pro des Mots              Jeux  None
16                                 Bravoloto              Jeux  None
17                                   Groupon          Shopping  None
18                                 Leboncoin       Utilitaires  None
19                             Spotify Music           Musique  None
20                    Molotov - TV en direct            replay  None
21                          Enlight Photofox   Photo et vidéo  None
22                                   Sarahah  Réseaux sociaux  None
23                    Perte de poids Fitness   Forme et santé  None
24                                 Vinted.fr      Style de vie  None
25                   AliExpress Shopping App          Shopping  None
26                                 Amazon FR          Shopping  None
27                   Yuka - Scan de produits   Forme et santé  None
28            Google Maps - GPS & Transports        Navigation  None
29                                      Joom          Shopping  None
..                                       ...               ...   ...
170           MosaLingua Apprendre l'Anglais        Ãducation  None
171                                 Ventusky           Météo  None
172                              Guitare Pro              Jeux  None
173                                   Sense.      Style de vie  None
174            Les aventures de Petit Chaton    Divertissement  None
175                              Lumino City              Jeux  None
176                 ARIMOJI by Ariana Grande    Divertissement  None
177                      A Normal Lost Phone              Jeux  None
178                               Tiny Wings              Jeux  None
179                         Rugby Nations 16              Jeux  None
180  Full Fitness : Exercise Workout Trainer   Forme et santé  None
181                                 Letter²              Jeux  None
182    R-Play - Lecture à distance pour PS4    Divertissement  None
183                            Baby Phone 3G      Style de vie  None
184              Runtastic Mountain Bike PRO   Forme et santé  None
185                     Apprendre l'Espagnol        Ãducation  None
186                            Earn to Die 2              Jeux  None
187                               Samorost 3              Jeux  None
188                      Cut the Rope: Magic              Jeux  None
189               Simulateur Métro de Paris              Jeux  None
190               Plotagraph+ Photo Animator   Photo et vidéo  None
191   LÂOfficiel du SCRABBLE® Dictionnaire      Références  None
192      Vidéo Royal Pro - Ultimate Edition   Photo et vidéo  None
193                Dictionnaire de français      Références  None
194                             Ana The Game              Jeux  None
195                                 Facetune   Photo et vidéo  None
196                                    FROST              Jeux  None
197                                   Catane              Jeux  None
198                               Punch Kidd              Jeux  None
199             Antidote Mobile  Français      Références  None

[200 rows x 3 columns]

You can drop that last column using fancy indexing:

In[69]:
df1 = df1.loc[:,:1]
df1.head()

Out[69]: 
                                0                 1
0                           Dune!              Jeux
1                        Snapchat   Photo et vidéo
2                       Instagram   Photo et vidéo
3  YouTube: Regarder & Découvrir   Photo et vidéo
4              WhatsApp Messenger  Réseaux sociaux

Upvotes: 3

Related Questions