javascript - 在 Django 中使用 Pandas 转换为 JSON

标签 javascript python json django pandas

我有以下在 django View 中创建的 pandas 数据框:

Date        Actual ticks
26-Sep-14   20
29-Sep-14   40
15-Oct-14   -10
20-Oct-14   5

使用pandas从csv文件中读取数据,然后转换为json对象,然后发送到django模板:

df = pd.read_csv('article/DailyStats.csv', usecols=['Date', 'Actual ticks'])
df.to_json()
return render_to_response('article/test.html', {'df': df})

现在是我遇到问题的地方,当我尝试在模板中使用 JSON 对象时:

<script type="text/javascript">
    $.getJSON({{ df }}, function(data){
        //do something
    })
 </script>

在我的 Chrome 浏览器控制台中,我收到错误:Uncaught SyntaxError: Unexpected Identifier

如果我在浏览器中查看 Sources,我会看到以下内容:

    <script type="text/javascript">
        $.getJSON(           Actual ticks
        Date                   
        26-Sep-14            20
        29-Sep-14            40
        15-Oct-14            -10
        20-Oct-14            5, function(data){
        })
    </script>

我想要的只是一个包含键列表(即:日期)和值(即:“实际报价”)的 JSON。我猜这与列标题搞砸了有关。

最终我希望能够遍历 json 以显示日期和相应的值,但在不再发生此错误之前我不能这样做。

非常感谢您的任何建议。

更新:感谢@Anzel 指出我没有将 JSON 对象分配给变量。我现在已经做到了,即: df_json = df.to_json()

但生成的 json 无效:

[
    [
        &quot;26-Sep-14&quot;,
        20
    ],
    [
        &quot;29-Sep-14&quot;,
        40
    ],
    [
        &quot;15-Oct-14&quot;,
        -10
    ],
    [
        &quot;20-Oct-14&quot;,
        5
    ]
]

知道如何让它创建有效的 JSON 吗?

最佳答案

至于你的第二个问题,Django 正在转义字符串,以便在 HTML 中安全使用它(不能包含额外的 HTML 或 JavaScript)。

要告诉 Django 不要这样做,请使用 safe 模板过滤器。

此外,由于这需要成为 JavaScript 中的字符串文字,因此您需要在其周围加上引号:

var json_data = JSON.parse("{{ df_json|safe }}");

关于javascript - 在 Django 中使用 Pandas 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26733855/

相关文章:

python - 如何在 Linux 上的 Python 中检查文件锁?

json - 无法获得JSON.registerObjectMarshaller()在Grails 1.3.7中创建自定义JSON

javascript - 从 Highcharts 工具提示中删除 UTC 日期

javascript - 将 JSDOM 解析的 XML 保存为文件

python - keras.metrics 没有属性 'Metric'

python - 在独立的 Python 脚本中向 Google 进行身份验证的正确机制是什么?

javascript - 如何知道用户单击新选项卡按钮是否打开了新选项卡?

javascript - Angular 和语义标记/关注点分离

python - Windows 10 上的 TensorFlow : “not a supported wheel on this platform” error

json - UITableView 不显示来自 URL 的图像