如何将tsv文件加载到Pandas DataFrame中?


136

我是python和pandas的新手。我正在尝试将tsv文件加载到熊猫中DataFrame

这是我正在尝试的错误:

>>> 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!

11
对于那些在2017年以上获得此答案的人,请使用read_csv('path_to_file', sep='\t')。请在下方
Ted Petrou

感谢@TedPetrou
Salomon Kabongo

Answers:


153

:由于17.0 from_csv气馁:使用pd.read_csv替代

该文档列出了一个.from_csv函数,该函数似乎可以执行您想要的操作:

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t')

如果您有标题,则可以传递header=0

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

4
我在使用此方法时遇到了一些问题-速度非常慢,最后索引失败。取而代之的是,我使用了read_table(),它的工作速度更快,而且没有多余的参数。
Yurik

21
需要注意的是由于17.0 from_csv气馁:使用pd.read_csv而不是!
rafaelvalle

2
我必须使用以下内容:DataFrame.read_csv('filepath.tsv',sep ='',header = 0)
Archie

3
这个答案不好。您可以使用本地阅读TSV pd.read_csv/read_table,您只需设置delim_whitespace=Truesep
smci

3
@rafaelvalle添加了已过时的通知
Arayan Singh




7

打开文件,另存为.csv,然后应用

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

对于任何其他格式,只需更改sep标记


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

您可以通过指定分隔符和标头将tsv文件直接加载到pandas数据框中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.