* ์ด ๊ธ์ ๋ค์ด๋ฒ ๋ถ์คํธ ์ฝ์ค์ ์ธ๊ณต์ง๋ฅ(AI) ๊ธฐ์ด ๋ค์ง๊ธฐ ๊ฐ์๋ฅผ ์๊ฐํ๋ฉฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
๋จธ์ ๋ฌ๋์์ ์ ์ผ ๋ง์ด ์ฌ์ฉ๋๋ csv์ ๋ํด ์์ธํ ์์๋ณด์
1) csv (Comma Separate Value)
- ์ผํ(,)๋ก ๊ตฌ๋ถํ ํ ์คํธ ํ์ผ
- ์์ ์์์ ๋ฐ์ดํฐ๋ฅผ ํ๋ก๊ทธ๋จ์ ์ฐ๊ธฐ ์ํ ๋ฐ์ดํฐ ํ์
- ํ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ง๋ง, csv ๋ชจ๋์ ์ด์ฉํด csv ๊ฐ์ฒด๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
import csv
reader=csv.reader(f, delimeter=',', quotechar='"', quoting=csv.QUOTE_ALL)
- delimeter : ๊ธ์๋ฅผ ๋๋๋ ๊ธฐ์ค (๊ธฐ๋ณธ : ,)
- lineterminator : ์ค๋ฐ๊ฟ ๊ธฐ์ค (๊ธฐ๋ณธ : \r\n)
- quotechar : ๋ฌธ์์ด์ ๋๋ฌ์ธ๋ ์ ํธ ๋ฌธ์ (๊ธฐ๋ณธ : " )
- quoting : ๋ฐ์ดํฐ๋ฅผ ๋๋๋ ๊ธฐ์ค์ด QUOTECHAR์ ์ํด ๋๋ฌ์์ธ ๋ ๋ฒจ. ์ ๋ถ ํน์ ์ผ๋ถ(๊ธฐ๋ณธ : QUOTE_MINIMAL)
์ฌ์ค ํด๋น ๋ชจ๋๋ณด๋ค๋ pandas๋ฅผ ์ฃผ๋ก ํ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ตณ์ด? ์ ํ์๋ ์์๊ฒ ๊ฐ๋ค.
2) web(World Wide Web)
- ์ธํฐ๋ท ๊ณต๊ฐ
- ์ก์์ ์ ์ํ HTTP ํ๋กํ ์ฝ ์ฌ์ฉ
- ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํด HTML ํ์์ ์ฌ์ฉ
- ์์ฒญ -> ์ฒ๋ฆฌ -> ์๋ต -> ๋ ๋๋ง ์ ๊ณผ์ ์ผ๋ก ๊ตฌํ
cf ) HTML (Hyper Text Markup Language)
- ์น ์์ ์ ๋ณด๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ํํ
- Tag๋ฅผ ์ฌ์ฉํ์ฌ ์์๋ฅผ ํ์(ํธ๋ฆฌ ๋ชจ์์ ํฌํจ ๊ด๊ณ๋ฅผ ๊ฐ์ง)
- ํ์ด์ง ์์ฑ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ์ ๋ค์ํ ๋ถ์์ด ๊ฐ๋ฅ
- string, Regex, beautifulsoup ๋ฑ์ผ๋ก ์ฒ๋ฆฌ
cf) ์ ๊ท์(regular expression) : ๋ณต์กํ ๋ฌธ์์ด ํจํด์ ์ ์ํ๋ ๋ฌธ์ ํํ ๊ณต์
์ ๊ท ํํ์์ ํ์์ ๊ตฌ๊ธ๋งํด์ ์ฌ์ฉํ๊ธฐ
์์ ) ์ ๊ทํํ์์ ํจํด์ ๊ฐ์ง ๋ฌธ์๋ชฉ๋ก์ ํน์ ํ์ด์ง ์ฃผ์์์ ์ฐพ์๋ณด์.
import re
import urllib.request
url="ํ์ด์ง ์ฃผ์"
html=urllib.request.urlopen(url)
html_contents=str(html.read().decode("๋์ฝ๋์ข
๋ฅ"))
#re.findall์ ์ด์ฉํด ์ ๊ทํํ์์ ํจํด์ ๊ฐ์ง ๋ชจ๋ ๊ฒ์ ์ฐพ์
id_results=re.findall(r"(์ ๊ทํํ์)", html_contents)
3) xml (eXtensible Markup Language)
<ํ๊ทธ>๋ฐ์ดํฐ</ํ๊ทธ>
- ๋ฐ์ดํฐ์ ๊ตฌ์กฐ์ ์๋ฏธ๋ฅผ TAG(MarkUp)์ ์ฌ์ฉํ์ฌ ํ์(HTML๊ณผ ๋น์ท)
- ํธ๋ฆฌ๊ตฌ์กฐ
- ์ฃผ๋ก beautifulsoup์ผ๋ก ํ์ฑ
์ฌ์ฉ๋ฐฉ๋ฒ
# ๋ชจ๋ํธ์ถ
from bs4 import BeautifulSoup
# ๊ฐ์ฒด์์ฑ
soup=BeautifulSoup(xml, "lxml")
# ํ๊ทธ ํ์
soup.find_all("ํ๊ทธ์ด๋ฆ")
์์ ) ํ์ผ.xml์ ํ๊ทธ์ด๋ฆ์ ๊ฐ์ง ๋ชจ๋ ์์๋ฅผ ์ถ์ถํ์ฌ๋ผ.
from bs4 import BeautifulSoup
with open("ํ์ผ.xml", "r", encoding="utf-8") as books_file:
books_xml=books_file.read() # File์ string์ผ๋ก ์ฝ์ด์ค๊ธฐ
soup=BeautifulSoup(books_xml, "lxml")
for book_info in soup.find_all("ํ๊ทธ์ด๋ฆ"):
print(book_info)
print(book_info.get_text())
4) json (JavaScript Object Notation)
{"parent_tag":["child_tag":๋ฐ์ดํฐ]}
- Javascript์ ๋ฐ์ดํฐ ๊ฐ์ฒด ํํ ๋ฐฉ์
- ๊ฐ๊ฒฐํ๊ณ ๋ฐ์ดํฐ ์ฉ๋์ด ์ ๊ณ ์ฝ๋๋ก์ ์ ํ์ด ์ฌ์
- json ๋ชจ๋์ ์ฌ์ฉํ์ฌ ํ์ฑ
์ฌ์ฉ๋ฐฉ๋ฒ
- ์ฝ๊ธฐ(Read)
# ๋ชจ๋ ํธ์ถ
import json
with open("ํ์ผ.json", "r", encoding="utf-8") as f:
contents=f.read()
# ๊ฐ์ฒด ์์ฑ -> dict ํ์
์ผ๋ก ๋ฐํ
json_data=json.loads(contents)
# ํ๊ทธ ๋ฐ์ดํฐ ํ์
print(json_data["ํ๊ทธ๋ช
"])
- ์ฐ๊ธฐ(Write)
# ๋ชจ๋ ํธ์ถ
import json
# ์ ์ฅํ ๋ฐ์ดํฐ
dict_data={'Name':'Zara', 'Age':7, 'Class':'First'}
# ํ์ผ์ ์์ฑ
with open("ํ์ผ.json", "w") as f:
json.dump(dict_data, f)
'์ธ๊ณต์ง๋ฅ๐พ > ํ์ด์ฌ ๊ธฐ๋ณธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ]1. Numpy (0) | 2023.02.05 |
---|---|
[ํ์ด์ฌ ๊ธฐ๋ณธ ๊ฐ๋ ] ํด๋&ํ์ผ ๋ค๋ฃจ๊ธฐ(Folder&File Handling) (0) | 2023.01.29 |
[ํ์ด์ฌ ๊ธฐ๋ณธ ๊ฐ๋ ] ์์ธ์ฒ๋ฆฌ(Exception Handling) (0) | 2023.01.27 |
[ํ์ด์ฌ ๊ธฐ๋ณธ ๊ฐ๋ ] Conda๋ฅผ ์ด์ฉํ ๊ฐ์ํ๊ฒฝ ํธ๋ค๋ง (0) | 2023.01.26 |
[ํ์ด์ฌ ๊ธฐ๋ณธ ๊ฐ๋ ] ๋ชจ๋๊ณผ ํจํค์ง์ ํ๋ก์ ํธ (0) | 2023.01.24 |