How to load a tsv file into a Pandas DataFrame?
PythonPandasCsvPython Problem Overview
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!
Python Solutions
Solution 1 - Python
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
).
Solution 2 - Python
As of 17.0 from_csv
is discouraged.
Use pd.read_csv(fpath, sep='\t')
or pd.read_table(fpath)
.
Solution 3 - Python
Use pandas.read_table(filepath)
. The default separator is tab.
Solution 4 - Python
Try this
df = pd.read_csv("rating-data.tsv",sep='\t')
df.head()
You actually need to fix the sep parameter.
Solution 5 - Python
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
Solution 6 - Python
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
Solution 7 - Python
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.
Solution 8 - Python
Try this:
import pandas as pd
DataFrame = pd.read_csv("dataset.tsv", sep="\t")