Преобразование формата JSON в формат CSV для MS Excel [закрыто]


Я получил файл JSON, но не знаю, как его прочитать. Есть ли конвертер, где я могу создать хороший CSV-файл, чтобы его можно было загрузить в MS Excel? Я не понимаю JSON, поэтому было бы здорово, если бы кто-то написал сценарий или связал меня с тем, кто выполнит эту работу.

Я нашел что-то близкое в http://json.bloople.net но, к сожалению, это JSON в HTML.

изменить: jsonformat.com становится еще ближе, однако это все еще не CSV.

4 69

4 ответа:

Я не уверен, что вы делаете, но это будет идти от JSON к CSV с помощью JavaScript. Это с помощью библиотека JSON с открытым исходным кодом, так что просто скачайте JSON.js в ту же папку, в которую вы сохранили код ниже, и он будет анализировать статическое значение JSON в json3 в CSV и предложит вам загрузить / открыть в Excel.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>JSON to CSV</title>
    <script src="scripts/json.js" type="text/javascript"></script>
    <script type="text/javascript">
    var json3 = { "d": "[{\"Id\":1,\"UserName\":\"Sam Smith\"},{\"Id\":2,\"UserName\":\"Fred Frankly\"},{\"Id\":1,\"UserName\":\"Zachary Zupers\"}]" }

    DownloadJSON2CSV(json3.d);

    function DownloadJSON2CSV(objArray)
    {
        var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;

        var str = '';

        for (var i = 0; i < array.length; i++) {
            var line = '';

            for (var index in array[i]) {
                line += array[i][index] + ',';
            }

            // Here is an example where you would wrap the values in double quotes
            // for (var index in array[i]) {
            //    line += '"' + array[i][index] + '",';
            // }

            line.slice(0,line.Length-1); 

            str += line + '\r\n';
        }
        window.open( "data:text/csv;charset=utf-8," + escape(str))
    }

    </script>

</head>
<body>
    <h1>This page does nothing....</h1>
</body>
</html>

Я создал JsFiddle здесь на основе ответ Закари. Она обеспечивает более доступный пользовательский интерфейс, а также экранированные двойные кавычки в строках.

вы можете использовать эту суть, довольно прост в использовании, хранит ваши настройки в локальном хранилище:https://gist.github.com/4533361

использование Python будет одним из простых способов достичь того, что вы хотите.

Я нашел с помощью Google.

"конвертировать из json в csv с помощью python" - это пример.