[Python] JSON 파일을 CSV로 변환
·
개발 (Development)/Python
데이터 분석이나 시스템 연동 작업을 하다 보면 JSON 데이터를 CSV 형식으로 변환해야 할 때가 많습니다. Python에서는 이를 간단한 코드로 처리할 수 있습니다. 이번 글에서는 JSON 파일을 CSV로 변환하는 코드를 소개하고, 주요 개념과 사용 방법까지 정리해 보았습니다.JSON 데이터를 CSV로 변환하는 이유CSV는 엑셀 등 다양한 도구에서 쉽게 다룰 수 있는 형식입니다.반면 JSON은 계층 구조로 되어 있어 사람이 직접 보기엔 불편할 수 있습니다.Python을 이용하면 간단히 JSON 파일을 읽고, CSV 파일로 저장할 수 있습니다.Python 코드 예시아래 코드는 JSON 파일을 읽어서, 그 내용을 CSV 형식으로 저장해주는 간단한 스크립트입니다.import jsonimport csv# JS..
[ADsP] 반정형 데이터란?
·
자격증 (Certifications)/ADsP
데이터는 일반적으로 정형, 반정형, 비정형 데이터로 나눌 수 있습니다. 그 중 반정형 데이터(Semi-structured Data)는 일정한 구조를 가지면서도, 엄격한 스키마를 따르지 않는 형태의 데이터를 말합니다.정형 데이터는 관계형 데이터베이스처럼 행과 열이 고정되어 있는 구조를 말하고, 비정형 데이터는 텍스트, 이미지, 영상처럼 구조화되지 않은 데이터를 의미합니다. 반정형 데이터는 이 둘의 중간 성격을 가지며, 일정한 규칙에 따라 구조화되지만 유연한 형식을 가집니다.HTML은 왜 반정형 데이터인가?HTML은 웹페이지를 구성할 때 사용하는 마크업 언어로, 태그(tag)를 이용해 콘텐츠의 구조를 정의합니다. 이는 어느 정도 형식이 있는 데이터처럼 보이지만, 웹사이트마다 HTML 구조가 다르고, 태그의 ..
[PostgreSQL] MyBatis에서 PostgreSQL JSON 데이터 처리하기
·
개발 (Development)/PostgreSQL
1. PostgreSQL에서 JSONB 데이터 평균 구하기JSONB 컬럼이 포함된 테이블에서 특정 키(예: "efficiency") 값을 필터링하고 평균을 구하는 기본적인 SQL 쿼리는 다음과 같습니다.SELECT key AS tag_name, AVG(value::NUMERIC) AS avg_valueFROM sensor_data, LATERAL jsonb_each_text(outputs)WHERE timestamp_col BETWEEN '2024-01-01 00:00:00' AND '2024-01-31 23:59:59' AND key ILIKE '%efficiency%' AND (value::NUMERIC) BETWEEN 0 AND 100GROUP BY key;이 쿼리는..
[PostgreSQL] JSON 포맷 데이터 집계
·
개발 (Development)/PostgreSQL
PostgreSQL에서 JSON 형식의 데이터를 분석하려면 jsonb 데이터를 다룰 수 있는 함수와 연산자를 사용하면 됩니다. status 컬럼에 저장된 JSON 데이터에서 각 키별로 값의 종류와 그 개수를 계산하려면 jsonb_each_text 함수와 GROUP BY를 조합하여 쿼리를 작성할 수 있습니다.예제 테이블 구조CREATE TABLE example_table ( id SERIAL PRIMARY KEY, status JSONB);-- 데이터 삽입INSERT INTO example_table (status) VALUES('{"key1": "good", "key2": "critical"}'),('{"key1": "good", "key2": "warning"}'),('{"key1": "ba..
[PostgreSQL] 데이터 타입이 text 이고, JSON 문자열인 열의 값 수정
·
개발 (Development)/PostgreSQL
PostgreSQL에서 JSON 문자열의 특정 값을 수정하는 방법PostgreSQL에서 JSON 형태의 데이터를 문자열로 저장하고 있을 때, 특정 값을 업데이트하려면 문자열 데이터를 JSON으로 변환하여 수정한 뒤 다시 문자열로 변환해야 합니다. 아래는 JSON 문자열에서 upperLimit 또는 lowerLimit 값을 수정하는 방법을 설명합니다.문제 상황컬럼에 아래와 같은 JSON 문자열이 저장되어 있다고 가정합니다:{ "type": "default", "type": "default", "spec": { "upperLimit": 4.0, "lowerLimit": 0.0 }}여기에서:upperLimit 값을 기존 값과 상관없이 새 값으로 수정하고 싶습니다.또는 lowerLimit 값을..