Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
156 views
in Technique[技术] by (71.8m points)

python - May I use either tab or comma as delimiter when reading from pandas csv?

I have csv files. Some are comma delimited, and some are tab delimited.

df = pd.read_csv(data_file, sep='')

Is there a way to specify either tab or comma as delimiter when using pd.read_csv()? Or, is there a way to automatically detect whether the file is tab or comma delimited? If I know that, I can use different sep='' paramters when reading the file.

question from:https://stackoverflow.com/questions/65909857/may-i-use-either-tab-or-comma-as-delimiter-when-reading-from-pandas-csv

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I'd just read the first row and see which gives you more columns:

import pandas as pd
tab = pd.read_csv(data_file, nrows=1, sep='').shape[1]
com = pd.read_csv(data_file, nrows=1, sep=',').shape[1]
if tab > com:
    df = pd.read_csv(data_file, sep='')
else:
    df = pd.read_csv(data_file, sep=',')

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...