Python - 파일 형식(CSV 파일 및 JSON 데이터 처리)
5392 단어 파이썬 학습
1. CSV 모듈
CSV(Comma-Separated Values)는 Excel로 열 수 있는 쉼표 구분 값입니다.일반 텍스트이기 때문에 모든 편집기를 열 수 있습니다.Excel 파일과 달리 CSV 파일에서:
1.1 Reader 객체 - CSV 파일에서 데이터 읽기
import csv
filename = 'F:/example
.csv'
with open(filename) as f:
reader = csv.reader(f)
print(list(reader))
주의: 파일 이름 문자열을 csv에 직접 전달할 수 없습니다.reader () 함수입니다.액세스할 경우 list () 에 전달
1.1.1 for 순환 중 반복
import csv
filename = 'F:/example.csv'
with open(filename) as f:
reader = csv.reader(f)
for row in reader:
# 1
print(reader.line_num, row)
실행 결과
1 ['AKST', 'Max TemperatureF', 'Mean TemperatureF', 'Min TemperatureF', 'Max Dew PointF', 'MeanDew PointF', 'Min DewpointF', 'Max Humidity', ' Mean Humidity', ' Min Humidity', ' Max Sea Level PressureIn', ' Mean Sea Level PressureIn', ' Min Sea Level PressureIn', ' Max VisibilityMiles', ' Mean VisibilityMiles', ' Min VisibilityMiles', ' Max Wind SpeedMPH', ' Mean Wind SpeedMPH', ' Max Gust SpeedMPH', 'PrecipitationIn', ' CloudCover', ' Events', ' WindDirDegrees']
2 ['2014-1-1', '46', '42', '37', '40', '38', '36', '97', '86', '76', '29.95', '29.77', '29.57', '10', '8', '2', '25', '14', '36', '0.69', '8', 'Rain', '138']
앞의 숫자는 줄 번호입니다. 1부터
reader.line_num
으로 얻을 수 있습니다.주의해야 할 것은reader는 한 번만 반복될 수 있다는 것이다.reader는 교체 가능한 대상이기 때문에
next
방법으로 한 번에 한 줄을 얻을 수 있습니다.import csv
filename = 'F:/example.csv'
with open(filename) as f:
reader = csv.reader(f)
# , reader
head_row = next(reader)
for row in reader:
# 2
print(reader.line_num, row)
1.2 Writer 객체 - csv 파일에 데이터 쓰기
reader가 읽을 수 있고, 쓰기도 할 수 있습니다.한 번에 한 줄, 한 번에 여러 줄에 쓸 수 있다.
import csv
#
datas = [['name', 'age'],
['Bob', 14],
['Tom', 23],
['Jerry', '18']]
with open('example.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in datas:
writer.writerow(row)
#
writer.writerows(datas)
newline=''
을 지정하지 않으면 한 줄을 쓸 때마다 빈 줄이 기록됩니다.위의 코드는 다음과 같은 내용을 생성합니다.name,age
Bob,14
Tom,23
Jerry,18
name,age
Bob,14
Tom,23
Jerry,18
1.2.1 delimiter와lineterminator 키워드 매개 변수
쉼표 대신 탭을 사용하여 셀을 구분합니다.
import csv
#
datas = [['name', 'age'],
['Bob', 14],
['Tom', 23],
['Jerry', '18']]
with open('example.csv', 'w', newline='') as f:
writer = csv.writer(f,delimiter='\t',lineterminator='
')
for row in datas:
writer.writerow(row)
name age
Bob 14
Tom 23
Jerry 18
2.JSON 함수
JSON은python에서 각각list와dict로 구성되어 있습니다.
JSON 함수를 사용하려면 json 라이브러리:import json을 가져와야 합니다.
함수
묘사
json.dumps
Python 객체를 JSON 문자열로 인코딩
json.loads
인코딩된 JSON 문자열을 Python 객체로 디코딩
2.1 json.dumps
json.dumps는 Python 객체를 JSON 문자열로 인코딩하는 데 사용됩니다.
문법
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8",
default=None, sort_keys=False, **kw)
인스턴스
다음 예제에서는 그룹을 JSON 형식의 데이터로 인코딩합니다.
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = json.dumps(data)
print json
위의 코드 실행 결과:
[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]
매개변수를 사용하여 JSON 데이터 포맷 출력:
>>> import json
>>> print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': '))
{
"a": "Runoob",
"b": 7
}
2.3 json.loads
json.loads는 JSON 데이터를 디코딩하는 데 사용됩니다.이 함수는 Python 필드의 데이터 형식을 반환합니다.
인스턴스
다음 예제에서는 Python이 JSON 객체를 디코딩하는 방법을 보여 줍니다.
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print text
위의 코드 실행 결과:
{u'a': 1,u'c' : 3, u'b': 2, u'e': 5, u'd': 4}
python 원시 유형에서 json 유형으로의 전환 대조표:
Python
JSON
dict
object
list,tuple
array
str, unicode
string
int, long, float
number
True
true
False
false
None
null
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python에서 문자열과datetime의 상호 변환1. datetime 객체를 문자열로 변환 - str 또는 strftime 방법을 사용하여 datetime 객체를 문자열로 변환할 수 있습니다. - strftime 함수를 사용하려면 서식 적용 문자열을 입력해야 합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.