在Python或PHP中将CSV转换为用于Chart.js的JSON
我有一组查询结果,格式是CSV。
我需要把这些结果处理成可以加载到我的JavaScript图表库Chart.js中,以便绘制结果。
我该如何用Python或PHP把我的CSV文件转换成下面JS所需的正确JSON格式呢?
星期一, 星期二, 星期三,...
314, 225, 666,...
特别要注意的是,整数值不能加引号,否则加载时会出错。我找到的所有函数都把所有标签和数值都用双引号包起来了,比如 "标签", "值":"整数"
<script>
$("#myLine").dxChart({
dataSource: [
{day: "Monday", oranges: 314},
{day: "Tuesday", oranges: 225},
{day: "Wednesday", oranges: 345},
{day: "Thursday", oranges: 464},
{day: "Friday", oranges: 626},
{day: "Saturday", oranges: 126},
{day: "Sunday", oranges: 4246} ],
series: {
argumentField: "day",
valueField: "oranges",
name: "My oranges",
type: "bar",
color: '#ffa500'
}
});
</script>
1 个回答
1
我建议的整体流程是:
- 读取csv文件
- 把数据转换成Python的字典或列表结构
- 将这个数据结构转换成json字符串
- 把json字符串发送到你的JavaScript代码中
如果你需要帮助来读取csv文件,可以查看这个文档:https://docs.python.org/2/library/csv.html
一旦你有了数据,可以构建一个像这样的结构:
list_of_day_oranges_pairs = [('Monday', 314) ....] # getting to this format should be easy
data = [{'day': day, 'oranges': oranges} for (day, oranges) in list_of_day_oranges_pairs]
然后把数据转换成json格式:
data_string = json.dumps(data)
现在data_string已经准备好,可以发送到你的JavaScript代码中了