2010-04-12 79 views
4

我正在尋找一種方法來讀取包含numpy數組的文本文件,並將數據放入vector< vector<...> >,任何人都可以幫助我嗎?將python numpy數組轉換爲C++ stl向量

非常感謝。 君主國

編輯:文本文件

[[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9]] [[10 11] [12 13] [14 15] [16 17] [18 19]] [[20 21] [22 23] [24 25] [26 27] [28 29]] [[30 31] [32 33] [34 35] [36 37] [38 39]]] 

或許更可讀的格式

[ 
    [ 
     [ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9] 
    ] 
    [ 
     [10 11] [12 13] [14 15] [16 17] [18 19] 
    ] 
    [ 
     [20 21] [22 23] [24 25] [26 27] [28 29] 
    ] 
    [ 
     [30 31] [32 33] [34 35] [36 37] [38 39] 
    ] 
] 
+2

您可以發佈一個例子您需要閱讀哪種數據?它是如何格式化的?病程的 – 2010-04-12 08:41:59

+0

,這類似 [[[0 1] [2 3] [4 5] [6 7] [8 9]] [[10 11] [12 13] [ 14 15] [16 17] [18 19]] [[20 21] [22 23] [24 25] [26 27] [28 29]] [[30 31] [32 33] [34 35] [36 37] [38 39]]] (對不起格式,怎麼可以美化它?) – Archy 2010-04-12 09:11:50

+0

你可以在評論中的文字周圍使用「'」。 – 2010-04-12 09:22:37

回答

0
float val; 
::std::vector<float> vals; 
ifstream stream("c:/file.txt"); 
while(stream >> val) { 
    vals.push_back(val); 
} 
+0

我認爲真正的問題在於, @ Archy'作爲數組數組的陣列,所以它有點困難。 – 2010-04-12 09:23:54

+0

謝謝你的努力:) – Archy 2010-04-12 11:05:34

+0

你說得對,sry,我錯讀 – 2010-04-12 11:14:17

0

這將取決於你的專業知識水平。

如果你有經驗,我會建議像Boost.Spirit.Qi這是一個真正的解析器庫。然而,它可能需要一段時間才能習慣。

否則,它取決於你在您的處置什麼樣的信息......我將修改我的答案,當你爲我們提供更多的細節,因爲它是毛茸茸的,足以讓潛在的非常複雜:)