Jestem nowy w Pythonie i Pandach. Próbuję tsv
załadować plik do pandy DataFrame
.
Oto, co próbuję, i otrzymuję błąd:
>>> 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!
read_csv('path_to_file', sep='\t')
. Zobacz odpowiedź poniżejOdpowiedzi:
Uwaga : od wersji 17.0
from_csv
odradza się:pd.read_csv
zamiast tego używajDokumentacja zawiera funkcję .from_csv, która wydaje się robić to, co chcesz:
DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t')
Jeśli masz nagłówek, możesz przejść
header=0
.DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t', header=0)
źródło
from_csv
odradza się: użyjpd.read_csv
zamiast tego!pd.read_csv/read_table
, po prostu musisz ustawićdelim_whitespace=True
lubsep
Od 17.0
from_csv
jest odradzane.Użyj
pd.read_csv(fpath, sep='\t')
lubpd.read_table(fpath)
.źródło
Użyj
read_table(filepath)
. Domyślnym separatorem jest tabulatorźródło
Spróbuj tego
df = pd.read_csv("rating-data.tsv",sep='\t') df.head()
W rzeczywistości musisz naprawić parametr sep .
źródło
otwórz plik, zapisz jako .csv, a następnie zastosuj
df = pd.read_csv('apps.csv', sep='\t')
dla każdego innego formatu, po prostu zmień oddzielny znacznik
źródło
df = pd.read_csv('filename.csv', sep='\t', header=0)
Możesz załadować plik tsv bezpośrednio do ramki danych pandy, określając separator i nagłówek.
źródło