Site icon ООО "Сисадмин"

Как преобразовать JSON в CSV

Как преобразовать JSON в CSV

JSON (JavaScript Object Notation) и CSV (Comma-Separated Values) — два популярных формата для хранения и обмена данными. Преобразование данных из JSON в CSV может быть необходимо для анализа, импорта в электронные таблицы или базы данных. JSON, будучи структурированным форматом, может содержать сложные вложенные объекты и массивы, тогда как CSV используется для представления табличных данных, что делает преобразование между этими форматами задачей, требующей внимания к деталям структуры данных.

Преобразование JSON в CSV с использованием Python

Для преобразования JSON в CSV в Python можно использовать библиотеку pandas, которая упрощает обработку данных.

Пример JSON

[
{
"Name": "John Doe",
"Age": 28,
"City": "New York"
},
{
"Name": "Jane Smith",
"Age": 32,
"City": "Los Angeles"
},
{
"Name": "Emily Johnson",
"Age": 25,
"City": "Chicago"
}
]

Преобразование JSON в CSV с помощью pandas

import pandas as pd
import json

# Пример JSON данных
json_data = '''
[
{
"Name": "John Doe",
"Age": 28,
"City": "New York"
},
{
"Name": "Jane Smith",
"Age": 32,
"City": "Los Angeles"
},
{
"Name": "Emily Johnson",
"Age": 25,
"City": "Chicago"
}
]
'''

# Загрузка JSON данных
data = json.loads(json_data)

# Преобразование JSON данных в DataFrame
df = pd.DataFrame(data)

# Запись DataFrame в CSV файл
df.to_csv('output.csv', index=False)

print("JSON data has been converted to CSV and saved as 'output.csv'.")

Преобразование JSON в CSV с использованием jq

Для более сложных JSON структур можно использовать jq, утилиту командной строки для обработки JSON, чтобы преобразовать JSON в CSV. Например, для простого JSON файла, следующая команда использует jq для извлечения данных и преобразования их в CSV формат.

Пример JSON файла (data.json)

[
{
"Name": "John Doe",
"Age": 28,
"City": "New York"
},
{
"Name": "Jane Smith",
"Age": 32,
"City": "Los Angeles"
},
{
"Name": "Emily Johnson",
"Age": 25,
"City": "Chicago"
}
]

Преобразование JSON в CSV с использованием jq

jq -r '["Name", "Age", "City"], (.[] | [.Name, .Age, .City]) | @csv' data.json > output.csv

Преобразование JSON в CSV с использованием JavaScript

Если нужно преобразовать JSON в CSV на стороне клиента в веб-приложении, можно использовать JavaScript. Пример кода на JavaScript для выполнения этой задачи:

Пример JSON

[
{
"Name": "John Doe",
"Age": 28,
"City": "New York"
},
{
"Name": "Jane Smith",
"Age": 32,
"City": "Los Angeles"
},
{
"Name": "Emily Johnson",
"Age": 25,
"City": "Chicago"
}
]

Преобразование JSON в CSV с использованием JavaScript

<!DOCTYPE html>
<html>
<head>
<title>Convert JSON to CSV</title>
</head>
<body>
<script>
const jsonData = [
{ "Name": "John Doe", "Age": 28, "City": "New York" },
{ "Name": "Jane Smith", "Age": 32, "City": "Los Angeles" },
{ "Name": "Emily Johnson", "Age": 25, "City": "Chicago" }
];

function jsonToCsv(json) {
const header = Object.keys(json[0]).join(",") + "\n";
const rows = json.map(obj => Object.values(obj).join(",")).join("\n");
return header + rows;
}

const csvData = jsonToCsv(jsonData);
console.log(csvData);

// Optionally, create a download link for the CSV file
const blob = new Blob([csvData], { type: 'text/csv' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'output.csv';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
</script>
</body>
</html>

Преобразование JSON в CSV — это частая задача при работе с данными, особенно когда нужно анализировать или импортировать данные в табличные форматы. Использование различных инструментов и языков программирования, таких как Python с библиотекой pandas, утилита командной строки jq, или JavaScript для веб-приложений, позволяет гибко и эффективно выполнять это преобразование в зависимости от конкретных потребностей и контекста.

Exit mobile version