Python Data Handing

๊น€์„ ์žฌยท2021๋…„ 12์›” 11์ผ
0

AI Tech

๋ชฉ๋ก ๋ณด๊ธฐ
3/8
post-thumbnail

๐Ÿ’ก ๊ธฐ์ดˆ์ ์ธ Data type์—๋Š” CSV, ์›น(html), XML, JSON์ด ์žˆ๋‹ค

csv( Comma Separate Value )

  • ํ•„๋“œ๋ฅผ ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ํ•œ ํ…์ŠคํŠธ ํŒŒ์ผ
  • ์—‘์…€ ์–‘์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์— ์ƒ๊ด€์—†์ด ์“ฐ๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค
  • ํƒญ( TSV ), ๋นˆ์นธ( SSV ) ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ๋งŒ๋“ค๊ธฐ๋„ ํ•œ๋‹ค
  • ํ†ต์นญํ•˜์—ฌ character-separated values( CSV )๋กœ ๋ถ€๋ฅธ๋‹ค
  • ์—‘์…€์—์„œ๋Š” ๋‹ค๋ฅธ ์ด๋ฆ„ ์ €์žฅ ๊ธฐ๋Šฅ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํŒŒ์ด์ฌ์—์„œ๋Š” ๊ฐ„๋‹จํžˆ CSVํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด csv๊ฐ์ฒด๋ฅผ ์ œ๊ณต

๐Ÿ“ csv ๊ฐ์ฒด ํ™œ์šฉ

import csv

reader = csv.reader(f, delimiter = ',',
		    quotechar='"',
            	    quoting=csv.QUOTE_ALL)
  • delimiter : ๊ธ€์ž๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€( Default : . )
  • lineterminator : ์ค„ ๋ฐ”๊ฟˆ ๊ธฐ์ค€( Default : \r\n )
  • quotechar : ๋ฌธ์ž์—ด์„ ๋‘˜๋Ÿฌ์‹ธ๋Š” ์‹ ํ˜ธ ๋ฌธ์ž( Default : " )
  • quoting : ๋ฐ์ดํ„ฐ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€์ด quotechar์— ์˜ํ•ด ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ ˆ๋ฒจ( Default : QUOTE_MINIMAL )

WEB

  • World Wide Web( WWW )์„ ์ค„์—ฌ์„œ WEB( ์›น )์ด๋ผ๊ณ  ๋ถ€๋ฆ„

  • ์šฐ๋ฆฌ๊ฐ€ ๋Š˜ ์“ฐ๋Š” ์ธํ„ฐ๋„ท ๊ณต๊ฐ„์˜ ์ •์‹ ๋ช…์นญ

  • ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ์— ์˜ํ•ด 1989๋…„ ์ฒ˜์Œ ์ œ์•ˆ, ์›๋ž˜๋Š” ๋ฌผ๋ฆฌํ•™์ž๋“ค๊ฐ„ ์ •๋ณด ๊ตํ™˜์„ ์œ„ํ•ด ์‚ฌ์šฉ

  • ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ์œ„ํ•œ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉ

    • ์›น ์ƒ์˜ ์ •๋ณด๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด
    • ์ œ๋ชฉ, ๋‹จ๋ฝ, ๋งํฌ ๋“ฑ ์š”์†Œ ํ‘œ์‹œ๋ฅผ ์œ„ํ•ด Tag๋ฅผ ์‚ฌ์šฉ
    • ๋ชจ๋“  ์š”์†Œ๋“ค์€ ๊บฝ์‡  ๊ด„ํ˜ธ ์•ˆ์— ๋‘˜๋Ÿฌ ์Œ“์—ฌ ์žˆ์Œ

      <title>Hello,World</title><title> Hello, World </title>

    • ๋ชจ๋“  HTML์€ ํŠธ๋ฆฌ ๋ชจ์–‘์˜ ํฌํ•จ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค
    • ์ผ๋ฐ˜์ ์œผ๋กœ ์›น ํŽ˜์ด์ง€์˜ HTML ์†Œ์ŠคํŒŒ์ผ์€ ์ปดํ“จํ„ฐ๊ฐ€ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํ›„ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ ๋ฐ ํ‘œ์‹œ
  • ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด HTML ํ˜•์‹์„ ์‚ฌ์šฉ

  • ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ Parsing ๊ฐ€๋Šฅ

Web ๋™์ž‘ ๋ฐฉ์‹

eXtensible Markup Language( XML )

  • ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ์™€ ์˜๋ฏธ๋ฅผ ์„ค๋ช…ํ•˜๋Š” TAG( MarkUp )๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œํ•˜๋Š” ์–ธ์–ด
  • TAG์™€ TAG์‚ฌ์ด์— ๊ฐ’์ด ํ‘œ์‹œ๋˜๊ณ , ๊ตฌ์กฐ์ ์ธ ์ •๋ณด๋ฅผ ํ‘œํ˜„
  • HTML๊ณผ ๋ฌธ๋ฒ•์ด ๋น„์Šท
  • ์ •๋ณด์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ •๋ณด์ธ ์Šคํ‚ค๋งˆ์™€ DTD ๋“ฑ์œผ๋กœ ์ •๋ณด์— ๋Œ€ํ•œ ์ •๋ณด( ๋ฉ”ํƒ€์ •๋ณด )๊ฐ€ ํ‘œํ˜„๋˜๋ฉฐ, ์šฉ๋„์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅ
  • XML๋„ HTML๊ณผ ๊ฐ™์ด ๊ตฌ์กฐ์  MarkUp ์–ธ์–ด์ด๋‹ค
  • XML์€ ์ปดํ“จํ„ฐ ๊ฐ„์— ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ๋งค์šฐ ์œ ์šฉํ•œ ์ €์žฅ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ
  • ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ Parsing ๊ฐ€๋Šฅ
    • ์ฃผ๋กœ beautifulsoup์œผ๋กœ ํŒŒ์‹ฑ
      • HTML, XML๋“ฑ Markup ์–ธ์–ด Scraping์„ ์œ„ํ•œ ๋Œ€ํ‘œ์ ์ธ ๋„๊ตฌ
      • lxml๊ณผ html5lib๊ณผ ๊ฐ™์€ Parser๋ฅผ ์‚ฌ์šฉ
      • ์†๋„๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฌ๋‚˜ ๊ฐ„ํŽธํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

๐Ÿ“ XML ์˜ˆ์ œ

<?xml version="1.0"?>
<๊ณ ์–‘์ด> 
	<์ด๋ฆ„>๋‚˜๋น„</์ด๋ฆ„> 
    <ํ’ˆ์ข…>์ƒด</ํ’ˆ์ข…> 
    <๋‚˜์ด>6</๋‚˜์ด> 
    <์ค‘์„ฑํ™”>์˜ˆ</์ค‘์„ฑํ™”>
    <๋ฐœํ†ฑ ์ œ๊ฑฐ>์•„๋‹ˆ์š”</๋ฐœํ†ฑ ์ œ๊ฑฐ>
	<๋“ฑ๋ก ๋ฒˆํ˜ธ>Izz138bod</๋“ฑ๋ก ๋ฒˆํ˜ธ>
	<์†Œ์œ ์ž>์ด๊ฐ•์ฃผ</์†Œ์œ ์ž>
</๊ณ ์–‘์ด>

JavaScript Object Notation( JSON )

  • ์›๋ž˜ ์›น ์–ธ์–ด์ธ Java Script์˜ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด ํ‘œํ˜„ ๋ฐฉ์‹

  • ๊ฐ„๊ฒฐ์„ฑ์œผ๋กœ ๊ธฐ๊ณ„ / ์ธ๊ฐ„์ด ๋ชจ๋‘ ์ดํ•ดํ•˜๊ธฐ ํŽธํ•จ

  • ๋ฐ์ดํ„ฐ ์šฉ๋Ÿ‰์ด ์ ๊ณ , Code๋กœ์˜ ์ „ํ™˜์ด ์‰ฝ๋‹ค

  • ์ด๋กœ ์ธํ•ด XML์˜ ๋Œ€์ฒด์ฒด๋กœ ๋งŽ์ด ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค

    ๐Ÿ’ก ์™ผ์ชฝ์ด XML, ์˜ค๋ฅธ์ชฝ์ด JSON
    ๐Ÿ‘‰ JSON์ด XML๋ณด๋‹ค ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค

  • JSON ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์† ์‰ฝ๊ฒŒ ํŒŒ์‹ฑ ๋ฐ ์ €์žฅ์ด ๊ฐ€๋Šฅ

  • ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์ฝ๊ธฐ๋Š” dict type๊ณผ ์ƒํ˜ธ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅ

  • ์›น์—์„œ ์ œ๊ณตํ•˜๋Š” API๋Š” ๋Œ€๋ถ€๋ถ„ ์ •๋ณด ๊ตํ™˜ ์‹œ JSON์„ ํ™œ์šฉํ•œ๋‹ค

    • ๊ฐ ์‚ฌ์ดํŠธ ๋งˆ๋‹ค Developer API์˜ ํ™œ์šฉ๋ฒ•์„ ์ฐพ์•„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค
profile
data science!!, data analyst!! ///// hello world

0๊ฐœ์˜ ๋Œ“๊ธ€