Pandas DataFrame'e tsv dosyası nasıl yüklenir?


136

Python ve pandalarda yeniyim. tsvPandalara bir dosya yüklemeye çalışıyorum DataFrame.

Denediğim şey bu ve aldığım hata:

>>> 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
Bu cevaba 2017+ yılında gelenler için kullanın read_csv('path_to_file', sep='\t'). Aşağıda bu yanıtı
Ted Petrou

Teşekkürler @TedPetrou
Salomon Kabongo

Yanıtlar:


153

Not : 17.0 from_csvitibariyle önerilmez: pd.read_csvbunun yerine kullanın

Belgeler, istediğinizi yapıyor görünen bir .from_csv işlevini listeler :

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

Başlığınız varsa, geçebilirsiniz header=0.

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

4
Bu yöntemle ilgili bazı sorunlar yaşadım - çok yavaştı ve sonunda indeksleme başarısız oldu. Bunun yerine, çok daha hızlı ve ekstra param olmadan çalışan read_table () kullandım.
YÜRİK

21
17.0 from_csvitibariyle tavsiye edilmediğini unutmayın: pd.read_csvbunun yerine kullanın!
rafaelvalle

2
Aşağıdakileri kullanmak zorunda kaldım: DataFrame.read_csv ('filepath.tsv', sep = '', header = 0)
Archie

3
Bu kötü bir cevap; pd.read_csv/read_tabledelim_whitespace=Truesep
TSV'yi

3
@rafaelvalle, kullanımdan kaldırılan bildirim ekledi
Arayan Singh

84

17.0 from_csvitibariyle önerilmez.

pd.read_csv(fpath, sep='\t')Veya kullanın pd.read_table(fpath).


4
Not: read_table 0.24.0 sürümünden beri kullanımdan kaldırılmıştır. Bunun yerine pandas.read_csv () kullanın.
ManuelSchneid3r

57

Kullanın read_table(filepath). Varsayılan ayırıcı sekmedir


1
read_table herhangi bir parametre gerektirmez. Mükemmel çalışıyor.
Jay

19

Bunu dene

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

görüntü açıklamasını buraya girin

Aslında sep parametresini düzeltmeniz gerekiyor .


7

dosyayı açın, .csv olarak kaydedin ve ardından uygulayın

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

diğer formatlar için de sep etiketini değiştirin


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

Sınırlayıcı ve başlık belirterek tsv dosyasını doğrudan pandalar veri çerçevesine yükleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.