我寫了下面的python代碼來讀取ID,年齡,性別,國家,從tsv文本文件註冊列。如何從tsv數據文件中分別讀取每列?
import csv
IDs=[]
Genders=[]
Ages=[]
Countrys=[]
Registereds=[]
with open('Sample data.txt','r') as f:
next(f) # skip headings
reader=csv.reader(f,delimiter='\t')
for ID,Gender,Age,Country,Registered in reader:
IDs.append(ID)
Genders.append(Gender)
Ages.append(Age)
Countrys.append(Country)
Registereds.append(Registered)
pass
但它不工作,並拋出以下錯誤:
Traceback (most recent call last):
File "ext_col.py", line 34, in <module>
for ID,Gender,Age,Country,Registered in reader:
ValueError: need more than 0 values to unpack
文本文件已經過線100S以下數據:
ID Gender Age Country Registered
user_000001 m Japan Aug 13, 2006
user_000002 f Peru Feb 24, 2006
user_000003 m 22 United States Oct 30, 2005
user_000004 f Apr 26, 2006
user_000005 m Bulgaria Jun 29, 2006
user_000006 24 Russian Federation May 18, 2006
user_000007 f United States Jan 22, 2006
user_000008 m 23 Slovakia Sep 28, 2006
user_000009 f 19 United States Jan 13, 2007
user_000010 m 19 Poland May 4, 200
這僅僅是一小片來自該文本文件的數據。
更進一步如何將每列的數據存儲在單獨的文本文件中,以便隨後只需在必要時打開所需的列文件即可輕鬆在算法中使用它們?這實際上是我在這裏的最終目標。
在此先感謝。
太棒了!謝謝。此代碼的作用像魅力和其價值接受。 – VivekP20
此外,如果我要將例如Gender的列的數據存儲在單獨的文本文件中而不會丟失原始格式,即我想保留列中的任何空白行,例如對於例如。對於給定的用戶,他的性別不存在於數據集文件中,那麼如果整個數據集的大小爲2.5 GB,我該如何有效地做到這一點? – VivekP20
「高效」是一個很難的主題,沒有深入挖掘代碼庫。我只是檢查空字符串。 'if row ['Gender'] ==「」:#write a new line' – Busturdust