line_counter = 0 #파일의 총 줄수를 count
data_header = [] #data 필드값을 저장
Kim_data_list = #data 개별 list를 저장하는 list
with open("data.csv") as data: #data.csv 파일을 data 객체에 저장
while True: #True or 1
line = data.readline() #데이터를 한 줄씩 읽어서 line변수에 할당
if not data: break #데이터가 없으면 loop종료
if line_counter == 0: #첫 번째 줄은 데이터 필드
data_header = data.split(",") #","로 데이터를 구분하여 data_header 리스트에 저장
else:
line_to_list = line.split(",")
if "KIM" in line_to_list: #성이 김 인 경우만 저장
Kim_data_list.append(line_to_list) #일반 데이터는 "," 기준으로 분리하여 list형태로 list에 저장
line_counter += 1
print("header :\t", data_header) #데이터 필드값 출력
for i in range(10): #샘플 10개만 데이터 출력
print("Data",i,":\t\t", Kim_data_list[i])
print(len(Kim_data_list)) #전체 데이터 크기 출력
with open("Kim_data_only.csv", "w") as Kim_data_only_csv:
for person in Kim_data_only_csv:
Kim_data_only_csv.write(",".join(person).strip("\n")+"\n")
# Kim_data_list 객체에 있는 데이터를 Kim_data_only.csv 파일에 쓰기
### csv 객체 활용 ###
import csv
reader = csv.reader(f
delimiter = ",", quotechar = '"',
quoting = csv.QUOTE_ALL)
# delimiter : 글자를 나누는 기준
# lineterminator : 줄 바꾼 기준(\r\n)
# quotechar : 문자열을 둘러싸는 신호 문자
# quoting : 데이터를 나누는 기준이 quotechar에 의해 둘러싸인 레벨
data = []
header = []
rownum = 0
import csv
with open("data.csv","r",encoding = "cp949") as file:
csv_data = csv.reader(file)
for row in data:
if rownum == 0:
header = row
else:
data.append(row)
rownum += 1
with open("data.csv","w",encoding = "utf8") as file:
writer = csv.writer(file, delimiter = "\t", quotechar = "'", quoting = csv.QUOTE_ALL)
writer. writerow(header) #제목 필드 파일 쓰기
for row in data:
writer.writerow(row)
Word Wide Web(WWW), 줄여서 웹
데이터 송수신을 위한 HTTP 프로토콜 사용 + 데이터를 표시하기 위해 HTTML 형식을 사용
Web 동작 순서
# HTML 구조 : <html> - <head> - <title> - <body> - <p>
# Element, Attribute Value 이루어짐
# <tag attribute1 = "att_value1" attribute2 = "att_value2"> 보이는 내용(value) </tag>
<!doctype html>
<html>
<head>
<title>Hello HTML</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
import re
import urllib.request
url = url_link #url 값 입력
html = urllib.request.urlopen(url) #url 열기
html_contents = str(html.read().decode("utf8)) #html 파일을 읽고, 문자열로 반환
result = re.findall(찾을 부분에 대한 정규표현식, html_contents) #출력된 데이터는 Tuple 형태
<?xml version = "1.0">
<고양이>
<우리집 고양이>
<이름>나비</이름>
<품종>샴</품종>
<나이>6</나이>
</우리집 고양이>
<친구네 고양이>
<이름>바다</이름>
<품종>페르시안</품종>
<나이>5</나이>
</친구네 고양이>
</고양이>
고양이
/\
/ \
/ \
/ \
우리집 고양이 친구네 고양이
/ | \ / | \
이름 품종 나이 이름 품종 나이
| | | | | |
나비 샴 6 바다 페르시안 5