我需要幫助才能從CSV文件生成類別樹。使用csv文件生成類別樹
我試過很多東西,但我迷路了......
我有800線,看起來像這樣的文件:
"LOADERS", "S130", "Above & 524611001, 524711001 & Above", "MAINTENANCE ITEMS", "SCHEDULED MAINTENANCE ITEMS (500 HOUR)"
"LOADERS", "S130", "Above & 524611001, 524711001 & Above", "MAINTENANCE ITEMS", "SCHEDULED MAINTENANCE ITEMS (1000 HOUR)"
"LOADERS", "S130", "Above & 524611001, 524711001 & Above", "MAIN FRAME", "OPERATOR CAB"
在這些線路, 第1列表示父類 第2列是第1列的孩子 第3列是第2列的孩子 第3列是第4列的母親(但它是爆炸(',',第3列)) 第4列爆炸是5
我想生成這種類型的數組(和創建起始於50的ID),因爲我們的目標是將此文件轉換成MySQL數據庫:■
我會在有這樣的事情
成功LOADERS (id = 50)
|___S130 (id = 51)
|----|____Above & 524611001 (id = 52)
|-----------|____ MAINTENANCE ITEMS (id = 53)
|------------------|____SCHEDULED MAINTENANCE ITEMS (500 HOUR) (id = 54)
|------------------|____SCHEDULED MAINTENANCE ITEMS (1000 HOUR) (id = 55)
|-----------|____ MAIN FRAME (id = 56)
|------------------|____OPERATOR CAB (id = 57)
|----|____Above & 524711001 (id = 58)
|-----------|____ MAINTENANCE ITEMS (id = 59)
|------------------|____SCHEDULED MAINTENANCE ITEMS (500 HOUR) (id = 60)
|------------------|____SCHEDULED MAINTENANCE ITEMS (1000 HOUR) (id = 61)
|-----------|____ MAIN FRAME (id = 62)
|------------------|____OPERATOR CAB (id = 63)
我試了一堆方法,我開始絕望。我所做的一切都沒有達到預期的結果:自從星期一開始,我就爲此付出了汗水,我想要自殺。
結果非常有趣。但它缺乏最後一個孩子。探索停在「維護項目」和「主框架」上。它缺乏一個水平(:s)但這是一條很棒的賽道。 對我而言,我嘗試使用此功能直接讀取文件。我看到你用逗號代替了分號分隔,並且把CSV放入了一個var。 無論如何謝謝你的意見。 –
我認爲有一個錯誤,因爲數組的一部分總是空的:s –
我做了一個改變......它幾乎工作。一些元素相乘。這是我的代碼(抱歉格式化)。 $ big_array = array(); $ temp_array = array(); (($ data = fgetcsv($ handle,1000,「;」))if(($ handle = fopen(「arbocsv.csv」,「r」))!== FALSE) !== FALSE) { \t $ serial = preg_replace('/ /','',$ data [2]); \t \t $ serials = preg_replace('/&/','&',$ serials); \t \t $ serials = explode(',',$ serial); \t \t \t 的foreach \t($連續爲$串行) \t \t { \t \t \t $ temp_array [$串行] [$數據[3]] [] = $數據[4]; \t \t} \t \t \t $ \t big_array [$數據[0]] [$數據[1]] = $ temp_array; \t} } print_r($ big_array); –