How to read a file with a semi colon separator in pandas

Question:

I a importing a .csv file in python with pandas.

Here is the file format from the .csv :

a1;b1;c1;d1;e1;...
a2;b2;c2;d2;e2;...   
.....

here is how get it :

from pandas import *
csv_path = "C:...."
data = read_csv(csv_path)

Now when I print the file I get that :

0  a1;b1;c1;d1;e1;...
1  a2;b2;c2;d2;e2;...   

And so on… So I need help to read the file and split the values in columns, with the semi color character ;.

Asked By: Jean

||

Answers:

read_csv takes a sep param, in your case just pass sep=';' like so:

data = read_csv(csv_path, sep=';')

The reason it failed in your case is that the default value is ',' so it scrunched up all the columns as a single column entry.

Answered By: EdChum

In response to Morris’ question above:
"Is there a way to programatically tell if a CSV is separated by , or ; ?"

This will tell you:

import pandas as pd

df_comma = pd.read_csv(your_csv_file_path, nrows=1,sep=",")
df_semi = pd.read_csv(your_csv_file_path, nrows=1, sep=";")
if df_comma.shape[1]>df_semi.shape[1]:
    print("comma delimited")
else:
    print("semicolon delimited")
Answered By: B Troy
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.