194

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

这就是我正在尝试的,我得到的错误:

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

8 回答 8

221

.read_csv函数可以满足您的要求:

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

如果你有一个标题,你可以通过header=0.

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

注意:使用了 17.0 之前pd.DataFrame.from_csv的版本(现在已弃用,文档.from_csv链接重定向到 的页面pd.read_csv)。

于 2012-03-11T06:06:56.443 回答
104

from_csv不鼓励从 17.0 开始。

使用pd.read_csv(fpath, sep='\t')pd.read_table(fpath)

于 2015-12-31T16:13:36.940 回答
61

使用pandas.read_table(filepath). 默认分隔符是制表符。

于 2012-03-11T15:34:23.943 回答
25

试试这个

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

在此处输入图像描述

您实际上需要修复sep参数。

于 2019-08-01T05:14:28.240 回答
9

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

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

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

于 2018-02-10T17:28:18.773 回答
3
data = pd.read_csv('your_dataset.tsv', delimiter = '\t', quoting = 3)

您可以使用分隔符来分隔数据,quoting = 3 有助于清除 datasst 中的引号

于 2021-02-16T13:23:22.867 回答
2
df = pd.read_csv('filename.csv', sep='\t', header=0)

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

于 2020-04-15T17:24:31.013 回答
0

试试这个:

import pandas as pd
DataFrame = pd.read_csv("dataset.tsv", sep="\t")
于 2021-02-21T01:17:30.057 回答