我是python和pandas的新手。我正在尝试将tsv
文件加载到pandas 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!
答案 0 :(得分:94)
注意:从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)
答案 1 :(得分:68)
从17.0开始from_csv
不鼓励。
使用pd.read_csv(fpath, sep='\t')
或pd.read_table(fpath)
。
答案 2 :(得分:51)
使用read_table(filepath)
。默认分隔符是选项卡
答案 3 :(得分:10)
答案 4 :(得分:5)
打开文件,另存为.csv,然后应用
df = pd.read_csv('apps.csv', sep='\t')
对于任何其他格式,只需更改sep标签
答案 5 :(得分:1)
data = pd.read_csv('your_dataset.tsv', delimiter = '\t', quoting = 3)
您可以使用分隔符来分隔数据,quoting = 3 有助于清除 datasst 中的引号
答案 6 :(得分:0)
df = pd.read_csv('filename.csv', sep='\t', header=0)
您可以通过指定定界符和标头将tsv文件直接加载到pandas数据框中。
答案 7 :(得分:0)
试试这个:
import pandas as pd
DataFrame = pd.read_csv("dataset.tsv", sep="\t")