python
CSV (Comma-Separated Values) 파일은 표 형식 데이터를 일반 텍스트로 저장합니다. 각 줄은 한 행을 나타내며, 개별 필드는 쉼표, 세미콜론 또는 다른 구분자로 분리됩니다. CSV 파일은 가볍고 스프레드시트, 데이터베이스, 데이터 분석 도구에서 폭넓게 지원되어 데이터 교환용 선호 포맷입니다.
아래는 작은 프로그래밍 언어 데이터베이스의 전형적 CSV 표현. 첫 행은 열 헤더, 이후 데이터 행들.
| 프로그래밍 언어 | 설계자 | 출시 연도 | 확장자 |
|---|---|---|---|
| Python | Guido van Rossum | 1991 | .py |
| Java | James Gosling | 1995 | .java |
| C++ | Bjarne Stroustrup | 1983 | .cpp |
Programming language,Designed by,Appeared,Extension Python,Guido van Rossum,1991,.py Java,James Gosling,1995,.java C++,Bjarne Stroustrup,1983,.cpp
csv 모듈csv 모듈은 CSV 파일 읽기/쓰기 저수준 도구 제공. 인용, 구분자, 줄 종료자 자동 처리해 수동 문자열 조작 필요성 감소.
csv.reader() – 행을 리스트로 순회.csv.DictReader() – 열 이름으로 키된 딕셔너리로 행 변환.csv.writer() – 행을 CSV 파일에 쓰기.csv.DictWriter() – 딕셔너리를 CSV 파일에 쓰기.csv.get_dialect(), csv.list_dialects(), csv.register_dialect(), csv.unregister_dialect().CSV 파일 읽고 각 행을 파이썬 리스트로 출력하는 최소한의 프로덕션 레디 예제:
import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row)
출력:
["Programming language", "Designed by", "Appeared", "Extension"] ["Python", "Guido van Rossum", "1991", ".py"] ["Java", "James Gosling", "1995", ".java"] ["C++", "Bjarne Stroustrup", "1983", ".cpp"]
csv.DictReader 사용 시 헤더 행이 자동으로 딕셔너리 키로 매핑되어 데이터 처리 간소화.
import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
결과 딕셔너리:
{"Programming language": "Python", "Designed by": "Guido van Rossum", "Appeared": "1991", "Extension": ".py"}
{"Programming language": "Java", "Designed by": "James Gosling", "Appeared": "1995", "Extension": ".java"}
{"Programming language": "C++", "Designed by": "Bjarne Stroustrup", "Appeared": "1983", "Extension": ".cpp"}
csv.writer와 csv.DictWriter 클래스로 효율적 데이터 쓰기.
import csv
rows = [
["Programming language", "Designed by", "Appeared", "Extension"],
["Python", "Guido van Rossum", "1991", ".py"],
["Java", "James Gosling", "1995", ".java"],
["C++", "Bjarne Stroustrup", "1983", ".cpp"],
]
with open('writeData.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
writer.writerows(rows)
생성된 writeData.csv는 원본 샘플과 일치.
Pandas는 데이터를 DataFrame에 로드해 최소 코드로 강력한 데이터 조작 가능. 미설치 시 pip install pandas로 설치.
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
출력:
Programming language Designed by Appeared Extension 0 Python Guido van Rossum 1991 .py 1 Java James Gosling 1995 .java 2 C++ Bjarne Stroustrup 1983 .cpp
import pandas as pd
data = {
'Programming language': ['Python', 'Java', 'C++'],
'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
'Appeared': ['1991', '1995', '1983'],
'Extension': ['.py', '.java', '.cpp'],
}
df = pd.DataFrame(data)
df.to_csv('pandaresult.csv', index=False)
print(df)
결과 CSV는 원본과 동일하지만 DataFrame은 고급 분석 기능 제공.
파이썬 csv 모듈과 Pandas는 CSV 파일 읽기, 쓰기, 조작을 위한 견고하고 사용하기 쉬운 도구를 제공합니다. 이 라이브러리들을 마스터하면 웹 서비스, ETL 파이프라인, 과학 연구 전반에서 효율적 데이터 워크플로 구축 가능. 오늘부터 실험해보고 CSV 처리를 프로젝트에 자신 있게 통합하세요.
python
부품 및 소모품 부품수량 DHT11 온도/습도 센서 (4핀)1 점퍼 와이어 (범용)1 Arduino UNO1 안드로이드 기기1 앱 및 온라인 서비스 Arduino IDE Blynk (iOS/Android 앱) 프로젝트 개요 이 프로젝트에서는 DHT11 센서로 온도와 습도를 읽고 블링크(Blynk) 앱으로 원격 모니터링하는 방법을 배웁니다. 리눅스에서 아두이노-컴퓨터 연결 방법을 모른다면 이 프로젝트(LED 추가 제외)를 참고하세요. 주의: 블링크에 LED 버튼 추가하거나 해당 프로젝트 코드 업로드하지 마세요! 아래
이 기사는 AXC F 3152에서 파이썬과 gRPC를 사용해 간단한 공정 데이터에 접근하고 쓰는 방법을 설명합니다. (https://www.plcnext.help/te/Service_Components/gRPC_Introduction.htm) 사전 준비 먼저 PLC 외부에서(예: 윈도우 머신) 필요한 파일들을 준비해야 합니다. 파이썬 3.9 설치 (3.10은 에러 유발 가능) .proto 파일에서 코드 생성을 위한 필수 파이썬 패키지 설치: pip install grpcio-tools==1.36.1 .proto 파일 저장소 다운로