Вход

Просмотр полной версии : csv файл в массив


nikto93i7
02.10.2015, 22:19
Всем доброе время суток!)

Помогите пожалуйста с одним вопросом...

Есть файл csv и в нем, через запятую, лежат числа. Как вытащить эти числа прямиком в массив?

Буду благодарен за помощь! :thanks:

sortarray
02.10.2015, 23:58
Есть файл csv и в нем, через запятую, лежат числа. Как вытащить эти числа прямиком в массив?
покажи кусок файла

nikto93i7
03.10.2015, 00:13
56000,67700,88000,567,5668,44700
И все, больше там ничего нету

sortarray
03.10.2015, 00:23
то есть одна строка? без переносов? А на выходе в массиве какие типы должны быть? Числа или строки?

sortarray
03.10.2015, 00:28
Короче, если так, то это совсем просто


console.log(
"1,2,3".split(","),
"1,2,3".split(",").map(function(x){return +x})
)


//>>>> [ '1', '2', '3' ] [ 1, 2, 3 ]

sortarray
03.10.2015, 00:31
А если вот такого плана,

file example:

1,2,3,4
5,6,7,8

То варианты (на nodejs):

fs=require("fs")

var s = fs.readFileSync("test.scv", "ascii")
console.log(
s.split(/\r?\n/).filter(function(x){return x}).map(function(x){return x.split(",")}) //>>>> [ [ '1', '2', '3', '4' ], [ '5', '6', '7', '8' ] ]
)

console.log(
s.replace(/\r?\n/g, ",").split(",").filter(function(x){return x}) //>>>> [ '1', '2', '3', '4', '5', '6', '7', '8' ]
)

console.log(
s.split(/\r?\n/).filter(function(x){return x}).map(function(x){return x.split(",").map(function(x){return +x})}) //>>>> [ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]
)


console.log(
s.replace(/\r?\n/g, ",").split(",").filter(function(x){return x}).map(function(x){return +x}) //>>>> [ 1, 2, 3, 4, 5, 6, 7, 8 ]
)