I'm new to python and pandas. I'm trying to get a tsv file loaded into a pandas DataFrame.

This is what I'm trying and the error I'm getting:

>>> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t')) Traceback (most recent call last): File "<pyshell#28>", line 1, in <module> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t')) File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 318, in __init__ raise PandasError('DataFrame constructor not properly called!') PandasError: DataFrame constructor not properly called! 
2

8 Answers

The .read_csv function does what you want:

pd.read_csv('c:/~/trainSetRel3.txt', sep='\t') 

If you have a header, you can pass header=0.

pd.read_csv('c:/~/trainSetRel3.txt', sep='\t', header=0) 

Note: Prior 17.0, pd.DataFrame.from_csv was used (it is now deprecated and the .from_csv documentation link redirects to the page for pd.read_csv).

10

As of 17.0 from_csv is discouraged.

Use pd.read_csv(fpath, sep='\t') or pd.read_table(fpath).

2

Use pandas.read_table(filepath). The default separator is tab.

1

Try this

df = pd.read_csv("rating-data.tsv",sep='\t') df.head() 

enter image description here

You actually need to fix the sep parameter.

open file, save as .csv and then apply

df = pd.read_csv('apps.csv', sep='\t') 

for any other format also, just change the sep tag

data = pd.read_csv('your_dataset.tsv', delimiter = '\t', quoting = 3) 

You can use a delimiter to separate data, quoting = 3 helps to clear quotes in datasst

df = pd.read_csv('filename.csv', sep='\t', header=0) 

You can load the tsv file directly into pandas data frame by specifying delimitor and header.

Try this:

import pandas as pd DataFrame = pd.read_csv("dataset.tsv", sep="\t") 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy