open a csv file and turn values into javascript array [duplicate] - javascript

This question already has answers here:
How to parse CSV data?
(14 answers)
Closed 8 years ago.
How can I open a .csv file and turn values into a javascript array.
In classical programming i'd do this by:
opening the file as a string
splitting by ,
close the file
I know how to split, .split(','), but how do I open and close the csv file in javascript or jquery?

$.get(url,function(data)
{
var MainArray = data.split('\n');
for(var i=0;i<MainArray.length;i++)
{
MainArray[i] = MainArray[i].split(',');
// now MainArray is a two dimensional array that contains csv file
//MainArray[row index][column index]
}
}
);

Related

Put data from a JSON object which was created in php into an array in a different Javascript file [duplicate]

This question already has answers here:
JSON encode MySQL results
(16 answers)
How do I pass variables and data from PHP to JavaScript?
(19 answers)
Closed 7 months ago.
I need to how I can use data that I fetched from the database and put into a JSON Object inside a php-file in another (Javascript)-File, where the data is supposed to end up inside an array.
function loadApplicationList()
{
$email = $_GET['email'];
$listcontent = queryDB("
SELECT Application.FavRank, Proposal.Title, Proposal.pdfName, RegisteredUser.Name
FROM Application
LEFT JOIN user_application
ON Application.ID = user_application.ID AND user_application.eMail = '$email'
LEFT JOIN Proposal
ON Proposal.ID = Application.Proposal_ID
LEFT JOIN RegisteredUser
ON RegisteredUser.eMail = Proposal.AuthorEmail;");
$encodeContent = json_encode($listcontent);
}
?>
Above is the php code, below the JS code
let data = [
// this array is supposed to contain the data from the JSON Object
];
I should also mention that I am new to these languages, so I might've already 'found' the right answer during my hour long research online but wasn't capable to identify it. Thanks for your help in advance.

Creating dictionary using python from javascript var data [duplicate]

This question already has answers here:
Convert [key1,val1,key2,val2] to a dict?
(12 answers)
Make dictionary from list with python [duplicate]
(5 answers)
Convert list into a dictionary [duplicate]
(4 answers)
Closed 4 years ago.
trying to figure out how to do this and have yet to find a good solution. I pulled this data out of an XML response. It was in a var tag. Now what I would like to do is create a dictionary out of it. The domain.com should be paired with the number right listed behind it.
This is the data:
[
'cb131.domain1.com', '147827',
'cb143.domain2.com', '147825',
'cb175.domain1.com', '147454',
'cb190.domain.com', '146210',
'cb201.domain.com', '146208',
'cb219.domain.com', '146042',
'cb225.domain.com', '146282',
'cb900.domain.com', '148461',
'cb901.domain.com', '148493',
'cb902.domain.com', '148495',
'cb903.domain.com', '148497',
'cb904.domain.com','148499',
'cb905.domain.com', '148501',
'cb906.domain.com', '148503',
'cb907.domain.com', '148505',
'cb908.domain.com', '148507',
'cb909.domain.com', '148509'
]
So for example cb131.domain1.com should be paired with 147827, cb143.domain2.com paired with 147825 and so on.
Drawing a blank on a good quick solution on how to do this. Hopefully someone can help.
Thanks!
Edited with answer I choose below:
I choose this answer and also to help anyone else I add a nice way to print out the results (data is the string I obtained):
import ast
i = iter(ast.literal_eval(data))
dic = dict(zip(i, i))
for key , value in dic.items():
print(key, " :: ", value)
This should do it. Assuming the list is saved to a variable l:
keys = l[::2]
vals = l[1::2]
dic = dict(zip(keys, vals))
You can create an iterator from the list after using ast.literal_eval to parse it from the input text, zip the iterator with itself, and pass the generated sequence of tuples to the dict constructor:
import ast
i = iter(ast.literal_eval(data))
dict(zip(i, i))
Assuming you have the above in a python array called data, you can do:
new_data = []
for i in range(0, len(data), 2):
new_data.append((data[i], data[i+1]))
Now new_data would be a list of tuples. You could certainly create a better data structure to hold these pairs if you want.
I do not yet know Python that I can write a snippet, but:
initialize an empty dictionary in Python
create a for loop counting index from 0 to length of your array in steps of two.
inside add a dictionary entry with key of value at index and value at index + 1
perhaps check for duplicates
Does this answer help you?
This is Python - quickly google'd:
dictionary = { }
for idx in range(0, len(data), 2)
dictionary[data[idx]] = data[idx + 1]

String into array (nodejs) [duplicate]

This question already has answers here:
Convert string array representation back to an array
(3 answers)
Closed 5 years ago.
I have a string of integers
str = "[7,2,7,7,2,7,7,4,3,2]"
and i want to get an array so that i can manipulate the data easily, but i have no idea how to do it. Can you help me ? I'm sure it's a basic task but i am not very familiar with node.
Thank you.
Try JSON.parse(yourStr). Alternately:
yourString.substr(1,arr.length-2).split(",").map((el) => {
return parseInt(el)
})
Looks like JSON, parse it with JSON.parse
numbers = JSON.parse("[7,2,7,7,2,7,7,4,3,2]")

Convert string to javascript array in MVC [duplicate]

This question already has answers here:
How do I write unencoded Json to my View using Razor?
(3 answers)
Closed 7 years ago.
I have ViewBag.Result with string value "[['Garreth','VP'],['Johan','IT'],['Test','QA']]"
I want to convert it as javascript array
var dataset =
[
['Garreth','VP'],
['Johan','IT'],
['Test','QA']
]
Obviously var dataset = '#ViewBag.Result' doesn't work because javascript treat is as string but not array. Any idea how to do this?
Thanks
Just remove the single quotes:
var dataset = #ViewBag.Result

Load a JSON file and parse it [duplicate]

This question already has answers here:
Parse JSON in JavaScript? [duplicate]
(16 answers)
Closed 8 years ago.
I need to load a JSON file (done) and then parse it in order to access the data to load the links of a Collapsible Force Layout.
//Load json from local server
$.getJSON("simulator.json", function(json) {
console.log(json);
});
Usually the JSON is gone over in a loop like so:
for(a in json){
//see a child object like this
console.log(json[a]);
//if it has a property, you can acccess it like so:
link = json[a].link;
//if it has child objects you can continue to iterate
for(b in json[a]){
console.log(json[a][b]);
}
}

Categories