我有一個例子來解析具有類似的格式的文件:
數據例子(。數據):試圖解析.dat文件,並存儲到2-d陣列中熊貓
+ Naoki Abe
- Myriam Abramson
+ David W. Aha
+ Kamal M. Ali
- Eric Allender
這裏是用於商店蟒例如代碼成一個二維數組:
df = pd.read_csv(
filepath_or_buffer='path/to/.data/file',
header=None,
sep=',')
# separate names from classes
vals = df.loc[:,:].values
names = [n[0][2:] for n in vals]
cls = [n[0][0] for n in vals]
從我的理解,這蟒代碼裝置的數據將是可變的df
並提取與每個人在vals
變量相關聯的字符串數據。然後,它將vals
的字符串拆分爲names
和cls
。 names
和cls
列表應該包含這些組件,以便第i個人的姓名將在names[i]
及其關聯的類別cls[i]
中。
然而,當我想用類似的方法來分析另一個類似的數據集(.DAT),
-1 this is comment1 blah blah blah (it is a big paragraph)
-1 this is comment2 blah blah blah (it is a big paragraph)
-1 this is comment3 blah blah blah (it is a big paragraph)
因此,我修改例子如:
# read in the dataset
df = pd.read_csv(
engine='python',
filepath_or_buffer='data/Pro1/train.dat',
header=None,
sep='\t+')
# separate names from classes
vals = df.loc[:,:].values
comm = [n[0][2:] for n in vals]
rates = [n[:1][0] for n in vals]
我有錯誤消息:TypeError: 'long' object has no attribute '__getitem__'
在comm = [n[0][2:] for n in vals]
我搜索了錯誤消息,它解釋說,這意味着我試圖存儲一個int到字符串(?)。我試圖存儲整個評論段落,它是一個字符串。在這個例子中,它存儲了一個名字的字符串。 另一個問題我是因爲我不得不解析.dat
文件,我猜測它是TAB
背後-1
而不是空間,我不知道,如果陣列的我設定的範圍是正確的**
我的經驗:我不是python的專家,因爲你可能已經想通了,我可以確定地閱讀代碼,但是在編寫代碼時一定要做一些研究。 Python是我現在做這種數據分析的唯一選擇。