데이터과학(Python 사용)에서 일반적으로 사용되는 파일 형식을 읽는 방법

소개

데이터 업계에 참여한 경험이 있다면 다양한 데이터 유형으로 작업해야하는 어려움을 알고있을 것입니다. 다른 형식, 다른 압축, 다른 시스템에서 다른 구문 분석. 거기에 구조화되지 않은 데이터 나 반구조화 된 데이터 등

데이터 과학자 또는 데이터 엔지니어에게는 다양한 형식을 다루는 것이 지루한 작업이 될 수 있습니다. 실제 사람들은 깔끔한 표 형식의 데이터를 거의 얻지 못합니다. 따라서 모든 데이터 과학자(또는 데이터 엔지니어)가 서로 다른 파일 형식, 파일 처리 문제 및 실생활에서 이 데이터를 처리 할 수있는 최상의/효율적인 방법을 알고 있어야합니다.

이 글은 데이터 과학자 또는 데이터 엔지니어가 알아야하는 일반적인 파일 처리 방법을 제공합니다. 먼저 업계에서 사용되는 여러 가지 일반적인 파일 형식을 소개합니다. 뒤에 이 파일 형식을 파이썬에서 읽는 방법을 살펴 보겠습니다.

1. 파일 형식이란 무엇입니까?

파일 형식은 정보가 파일에 저장하기 위해 인코딩되는 표준 방법입니다. 먼저, 파일 형식은 파일이 2진 파일인지 ASCII 파일인지를 확인합니다. 둘째, 정보 조직 방법을 확인합니다. 예를 들어 쉼표로 구분 된 값(CSV) 파일 형식은 표 형식의 데이터를 일반 텍스트로 저장합니다.

파일 형식을 확인하려면 일반적으로 파일 확장명을보고 아이디어를 얻을 수 있습니다. 예를 들어 “Data”라는 이름으로 “CSV”형식으로 저장된 파일은 “Data.csv”로 나타납니다. “.csv”확장자를 알면 이 파일이 “CSV”파일이고 데이터가 표 형식으로 저장된다는 것을 분명히 알 수 있습니다.

 

 

2. 데이터 과학자가 다른 파일 형식을 이해해야하는 이유는 무엇입니까?

대개의 파일은 사용자가 구축하는 응용 프로그램에 따라 다릅니다. 예를 들어, 이미지 처리 시스템에서는 입력 및 출력으로 이미지 파일이 필요합니다. 따라서 대부분 jpeg, gif 또는 png 형식의 파일을 볼 수 있습니다.

데이터 과학자로서 다양한 파일 형식의 기본 구조, 장점 및 단점을 이해해야합니다. 데이터의 기본 구조를 이해하지 못하면 데이터를 탐색 할 수 없습니다. 또한 데이터를 저장하는 방법을 결정할 때가 있습니다.

데이터를 저장하기위한 최적의 파일 형식을 선택하면 데이터 처리에서 모델의 성능을 향상시킬 수 있습니다.

이제 다음 파일 형식과 Python에서 읽는 방법을 살펴 보겠습니다.

  • 쉼표로 구분 된 값

  • XLSX

  • ZIP

  • 일반 텍스트 (txt)

  • JSON

  • XML

  • HTML

  • 이미지

  • 계층적 데이터 형식(Hierarchical Data Format)

  • PDF

  • DOCX

  • MP3

  • MP4

3. 다른 파일 형식과 파이썬에서 읽는 방법

3.1 쉼표로 구분 된 값

쉼표로 구분된 값 파일 형식은 스프레드 시트 파일 형식에 속합니다.

스프레드 시트 파일 형식이란 무엇입니까?

스프레드 시트 파일 형식에서 데이터는 셀에 저장됩니다. 각 셀은 행과 열로 구성됩니다. 스프레드 시트 파일의 열은 다른 유형을 가질 수 있습니다. 예를 들어, 열은 문자열 유형, 날짜 유형 또는 정수 유형이 될 수 있습니다. 가장 많이 사용되는 스프레드 시트 파일 형식은 쉼표로 구분 된 값(CSV), Microsoft Excel 스프레드 시트(xls) 및 Microsoft Excel Open XML 스프레드 시트(xlsx)입니다.

CSV 파일의 각 행은 observation 또는 일반적으로 레코드라고합니다. 각 레코드는 쉼표로 구분된 하나 이상의 필드를 포함 할 수 있습니다.

때로는 필드가 쉼표로 구분되지 않고 탭을 사용하여 구분되는 파일을 찾을 수 있습니다. 이 파일 형식을 TSV (Tab Separated Values) 파일 형식이라고합니다.

아래 이미지는 메모장에서 열리는 CSV 파일입니다.

 

 

Python에서 CSV로부터 데이터 읽기

Python에서 CSV 파일을 읽는 방법을 살펴 보겠습니다. 데이터를로드하기 위해 Python에서 “pandas”라이브러리를 사용할 수 있습니다.

import pandas as pd

df = pd.read_csv ( “/ home / Loan_Prediction / train.csv”)

위의 코드는 DataFrame df에서 train.csv 파일을로드합니다.

3.2 XLSX 파일

XLSX는 Microsoft Excel Open XML 파일 형식입니다. 또한 스프레드 시트 파일 형식으로 제공됩니다. Microsoft Excel에서 만든 XML 기반 파일 형식입니다. XLSX 형식은 Microsoft Office 2007에서 도입되었습니다.

XLSX에서 데이터는 시트의 셀과 열 아래에 구성됩니다. 각 XLSX 파일에는 하나 이상의 시트가 포함될 수 있습니다. 따라서 통합 문서에는 여러 장이 포함될 수 있습니다.

아래 이미지는 Microsoft Excel에서 열리는 “xlsx”파일을 보여줍니다.

 

 

위의 이미지에서이 파일에는 Customers, Employees, Invoice, Order 등 여러 시트가 있음을 알 수 있습니다 (왼쪽 하단). 이미지는 “Invoice”한 장의 데이터 만 표시합니다.

XLSX 파일에서 데이터 읽기

XLSX 파일의 데이터를로드하고 시트 이름을 정의 해 봅시다. 데이터를 로드하기 위해 Pandas 라이브러리를 Python에서 사용할 수 있습니다.

import pandas as pd

df = pd.read_excel(“/home/Loan_Prediction/train.xlsx”, sheetname = “Invoice”)

위 코드는 DataFrame df의 “train.xlsx”파일에서 “Invoice”시트를로드합니다.

3.3 ZIP 파일

ZIP 형식은 아카이브 파일 형식입니다.

아카이브 파일 형식이란 무엇입니까?

아카이브 파일 형식에서 메타 데이터와 함께 여러 파일을 포함하는 파일을 만듭니다. 아카이브 파일 형식은 여러 데이터 파일을 하나의 파일로 모으는 데 사용됩니다. 이것은 단순히 파일을 압축하여 더 적은 저장 공간을 사용하기위한 것입니다.

아카이브 파일을 만드는 데 사용되는 많은 컴퓨터 데이터 아카이브 형식이 있습니다. Zip, RAR 및 Tar은 데이터를 압축하는 데 가장 많이 사용되는 아카이브 파일 형식입니다.

따라서 ZIP 파일 형식은 무손실 압축 형식입니다. 즉, ZIP 형식을 사용하여 여러 파일을 압축하면 ZIP 파일을 압축 해제 한 후 데이터를 완전히 복구 할 수 있습니다. ZIP 파일 형식은 여러 압축 알고리즘을 사용하여 문서를 압축합니다. .zip 확장자로 ZIP 파일을 쉽게 식별 할 수 있습니다.

파이썬에서 .ZIP 파일 읽기

“zipfile”패키지를 가져 와서 zip 파일을 읽을 수 있습니다. 아래는 “T.zip”안에있는 “train.csv”파일을 읽을 수있는 Python 코드입니다.

import zipfile
archive = zipfile.ZipFile(‘T.zip’, ‘r’)
df = archive.read(‘train.csv’)

여기서는 유명한 아카이브 형식 중 하나와 Python에서 여는 방법에 대해 논의했습니다. 여기서 다른 아카이브 포맷을 언급하지 않습니다. 다른 아카이브 형식과 그 비교에 대해 읽으려면이 링크를 참조하십시오 .

3.4 일반 텍스트 (txt) 파일 형식

일반 텍스트 파일 형식에서는 모든 것이 일반 텍스트로 작성됩니다. 일반적으로 이 텍스트는 구조화되지 않은 형식이며 관련 메타 데이터가 없습니다. txt 파일 형식은 모든 프로그램에서 쉽게 읽을 수 있습니다. 그러나 이것을 해석하는 것은 컴퓨터 프로그램으로는 매우 어렵습니다.

텍스트 파일의 간단한 예를 들어 봅시다.

다음 예제에서는 텍스트가 포함 된 텍스트 파일 데이터를 보여줍니다.

위의 텍스트가 text.txt라는 파일에 작성되었다고 가정하고 이것을 읽으려면 아래 코드를 참조 할 수 있습니다.

text_file = open(“text.txt”, “r”)
lines = text_file.read()

 

3.5 JSON 파일 형식

JSON (JavaScript Object Notation)은 웹을 통해 데이터를 교환하기 위해 설계된 텍스트 기반의 공개 표준입니다. JSON 형식은 웹을 통해 구조화된 데이터를 전송하는 데 사용됩니다. JSON 파일 형식은 언어 독립적인 데이터 형식이므로 모든 프로그래밍 언어에서 쉽게 읽을 수 있습니다.

JSON 파일의 예를 들어 봅시다.

다음 예제는 일반적인 JSON 파일이 직원 정보를 저장하는 방법을 보여줍니다.

 

 

JSON 파일 읽기

JSON 파일에서 데이터를로드 해 봅시다. 데이터를로드하기 위해 파이썬에서 pandas 라이브러리를 사용할 수 있습니다.

import pandas as pd

df = pd.read_json(“/home/kunal/Downloads/Loan_Prediction/train.json”)

3.6 XML 파일 형식

XML은 Extensible Markup Language라고도합니다. 이름에서 알 수 있듯이 마크업 언어입니다. 데이터를 인코딩하는 데는 특정 규칙이 있습니다. XML 파일 형식은 사람이 읽을 수 있고 기계에서 읽을 수있는 파일 형식입니다. XML은 인터넷을 통해 정보를 전송하기 위한 자체 기술 언어입니다. XML은 HTML과 매우 유사하지만 약간의 차이점이 있습니다. 예를 들어, XML은 미리 정의된 태그를 HTML로 사용하지 않습니다.

XML 파일 형식의 간단한 예제를 살펴 보겠습니다.

다음 예제에서는 직원의 정보가 들어있는 xml 문서를 보여줍니다.

 

 

“<? xml version =”1.0 “?>”은 파일의 시작 부분에있는 XML 선언입니다 (선택 사항임). 이 속에서, Version은 XML 버전을 지정하고 인코딩은 문서에 사용되는 문자 인코딩을 지정합니다. <contact-info>는 이 문서의 태그입니다. 각 XML 태그는 닫아야합니다.

Python에서 XML 읽기

XML 파일에서 데이터를 읽으려면 ElementTree 라이브러리인 xml.etree를 가져올 수 있습니다.

train이라는 xml 파일을 가져 와서 루트 태그를 인쇄 해 봅시다.

import xml.etree.ElementTree as ET
tree = ET.parse(‘/home/sunilray/Desktop/2 sigma/train.xml’)
root = tree.getroot()
print root.tag

3.7 HTML 파일

HTML은 Hyper Text Markup Language의 약자입니다. 웹페이지를 만드는 데 사용되는 표준 마크 업 언어입니다. HTML은 마크 업을 사용하여 웹페이지의 구조를 설명하는 데 사용됩니다. HTML 태그는 XML과 동일하지만 미리 정의되어 있습니다. HTML 문서의 제목을 나타내는 <head> 태그를 기반으로 HTML 문서 하위 섹션을 쉽게 식별 할 수 있습니다. HTML은 대소문자를 구분하지 않습니다.

다음 예제에서는 HTML 문서를 보여줍니다.

 

HTML의 각 태그는 대괄호 (<>)로 묶입니다. <! DOCTYPE html> 태그는 문서가 HTML 형식임을 정의합니다. <html>은이 문서의 루트 태그입니다. <head> 요소는 이 문서의 제목 부분을 포함합니다. <title>, <body>, <h1>, <p>는 HTML 문서의 제목, 본문, 제목 및 단락을 각각 나타냅니다.

HTML 파일 읽기

HTML 파일을 읽으려면 BeautifulSoup 라이브러리를 사용할 수 있습니다. 이 튜토리얼에서는 HTML 문서를 파싱하는 방법을 설명합니다. 파이썬에서의 웹 스크래핑에 대한 초보자 가이드 (BeautifulSoup 사용) 참조.

3.8 이미지 파일

이미지 파일은 아마도 데이터 과학에서 사용되는 가장 매혹적인 파일 형식 일 것입니다. 모든 컴퓨터비전 응용 프로그램은 이미지 처리를 기반으로합니다. 따라서 다른 이미지 파일 형식을 알아야합니다.

일반적인 이미지 파일은 RGB 값을 갖는 3 차원입니다. 그러나 2 차원(그레이 스케일) 또는 4차원(강도를 가짐) 일 수도 있습니다 – 이미지와 연관된 픽셀과 메타 데이터로 구성된 이미지.

각 이미지는 하나 이상의 픽셀 프레임으로 구성됩니다. 각 프레임은 픽셀 값의 2차원 배열로 구성됩니다. 픽셀 값은 모든 강도를 가질 수 있습니다. 이미지와 연관된 메타 데이터는 이미지 유형(.png) 또는 픽셀 크기 일 수 있습니다.

이미지를 로드하여 이미지의 예를 들어 봅시다.

 

 

이제 이 이미지의 유형과 모양을 확인해 봅시다.

type(f) , f.shape

numpy.ndarray,(768, 1024, 3)

이미지 처리에 대해 읽으려면 이 기사를 참조하십시오. 이 기사는 예제로 이미지 프로세싱을 가르쳐 줄 것입니다 – Python에서 이미지 프로세싱의 기초

3.9 계층적 데이터 형식 (HDF)

Hierarchical Data Format(HDF)에서는 많은 양의 데이터를 쉽게 저장할 수 있습니다. 볼륨이 크거나 복잡한 데이터를 저장하는 데 사용할뿐만 아니라 작은 볼륨이나 단순한 데이터를 저장하는데도 사용됩니다.

HDF 사용의 장점은 다음과 같습니다.

  • 모든 크기와 유형의 시스템에서 사용할 수 있습니다.

  • 유연하고 효율적인 저장소 및 빠른 I/O를 제공합니다.

  • 많은 포맷이 HDF를 지원합니다.

여러개의 HDF 형식이 있습니다. HDF5는 구형 HDF 파일 형식의 한계를 해결하기 위해 고안된 최신 버전입니다. HDF5 형식은 XML과 일부 유사합니다. XML과 마찬가지로 HDF5 파일은 자체 설명 기능을 제공하므로 사용자가 복잡한 데이터 관계 및 종속성을 지정할 수 있습니다.

.h5 확장자를 사용하여 식별 할 수있는 HDF5 파일 형식의 예를 살펴 보겠습니다.

 

 

HDF5 파일 읽기

Pandas를 사용하여 HDF 파일을 읽을 수 있습니다. 아래는 Python 코드가 train.h5 데이터를 “t”로 로드 할 수있는 코드입니다.

t = pd.read_hdf ( ‘train.h5’)

3.10 PDF 파일 형식

PDF(Portable Document Format)는 통합 그래픽과 함께 텍스트 문서의 해석 및 표시에 사용되는 매우 유용한 형식입니다. PDF 파일의 특별한 기능은 비밀번호로 보안 할 수 있다는 것입니다.

다음은 pdf 파일의 예입니다.

PDF 파일 읽기

반면에 프로그램을 통해 PDF 형식을 읽는 것은 복잡한 작업입니다. PDF 파일을 파싱 할 때 좋은 역할을하는 라이브러리가 있지만, 그 중 하나는 PDFMiner입니다. PDFMiner를 통해 PDF 파일을 읽으려면 다음을 수행해야합니다.

  • PDFMiner를 다운로드하여 웹사이트를 통해 설치하십시오.

  • 다음 코드로 PDF 파일을 추출하십시오.

pdf2txt.py <pdf_file> .pdf

3.11 DOCX 파일 형식

마이크로 소프트 워드 docx 파일은 조직에서 텍스트 기반 데이터를 위해 많이 사용하는 또 다른 파일 형식입니다. 그것은 테이블, 이미지, 하이퍼 링크 등의 인라인 추가와 같은 많은 특성을 가지고있어서 docx를 매우 중요한 파일 형식으로 만드는 데 도움이됩니다.

PDF 파일에 비해 docx 파일의 장점은 docx 파일을 편집 할 수 있다는 것입니다. docx 파일을 다른 형식으로 변경할 수도 있습니다.

다음은 docx 파일의 예입니다.

 

 

docx 파일 읽기

PDF 형식과 마찬가지로, python은 docx 파일을 구문 분석하기 위한 커뮤니티 기반 라이브러리를 가지고 있습니다. python-docx2txt라고합니다.

이 라이브러리 설치는 다음을 통해 쉽게 수행 할 수 있습니다.

pip install docx2txt

Python에서 docx 파일을 읽으려면 다음 코드를 사용하십시오 :

import docx2txt text = docx2txt.process(“file.docx”)

3.12 MP3 파일 형식

MP3 파일 형식은 멀티미디어 파일 형식으로 제공됩니다. 멀티미디어 파일 형식은 이미지 파일 형식과 유사하지만 가장 복잡한 파일 형식 중 하나입니다.

멀티미디어 파일 형식에서는 텍스트 이미지, 그래픽, 비디오 및 오디오 데이터와 같은 다양한 데이터를 저장할 수 있습니다. 예를 들어 멀티미디어 형식을 사용하면 텍스트를 일반 텍스트 형식인 ASCII 데이터가 아닌 RTF (Rich Text Format) 데이터로 저장할 수 있습니다.

MP3는 디지털 오디오의 가장 일반적인 오디오 코딩 형식 중 하나입니다. mp3 파일 형식은 비디오 및 오디오의 손실 압축 표준인 MPEG-1 (Moving Picture Experts Group-1) 인코딩 형식을 사용합니다. 손실 압축의 경우 원본 파일을 압축하면 원본 데이터를 복구 할 수 없습니다.

mp3 파일 형식은 사람이 들을 수 없는 오디오를 필터링하여 오디오 품질을 압축합니다. MP3 압축은 일반적으로 75-95 %의 크기 축소를 달성하므로 많은 공간을 절약 할 수 있습니다.

mp3 파일 형식 구조

mp3 파일은 여러 프레임으로 구성됩니다. 프레임은 헤더와 데이터 블록으로 더 나눌 수 있습니다. 이러한 프레임 시퀀스를 기본 스트림이라고합니다.

일반적으로 mp3의 헤더는 유효한 프레임의 시작을 식별하며 데이터 블록에는 진동수와 진폭 측면에서 압축 된 오디오 정보가 포함됩니다. mp3 파일 구조에 대해 더 알고 싶다면 이 링크를 참조하십시오.

Python으로 멀티미디어 파일 읽기

파이썬에서 멀티미디어 파일을 읽거나 조작하려면 PyMedia 라는 라이브러리를 사용할 수 있습니다 .

3.13 MP4 파일 형식

MP4 파일 형식은 비디오 및 영화를 저장하는 데 사용됩니다. 여기에는 특정 기간별로 비디오 형태로 재생되는 여러 이미지 (프레임이라고 함)가 들어 있습니다. mp4 파일을 해석하는 데는 두 가지 방법이 있습니다. 하나는 닫힌 엔티티이며 전체 비디오가 단일 엔티티로 간주됩니다. 다른 하나는 이미지의 모자이크로, 동영상의 각 이미지가 다른 엔티티로 간주되며 이미지는 동영상에서 샘플링됩니다.

다음은 mp4 비디오의 예입니다.

 

 

mp4 파일 읽기

또한 MP4에는 MoviePy라는 mp4 파일을 읽고 편집 할 수있는 커뮤니티 기반의 라이브러리가 있습니다.

이 링크 에서 라이브러리를 설치할 수 있습니다  . mp4 비디오 클립을 읽으려면 Python에서 다음 코드를 사용하십시오.

from moviepy.editor import VideoFileClip clip = VideoFileClip(‘<video_file>.mp4’)

다음과 같이 jupyter 노트북에 이것을 표시 할 수 있습니다.

ipython_display (clip)

최종 메모

이 글에서는 데이터 과학자가 매일 사용하는 기본적인 파일 형식에 대해 소개했습니다. 이 글에서 다루지 않은 많은 파일 형식이 있습니다. 더 많은 파일 형식을 탐색 해 보시기 바랍니다.

원문 :

https://www.analyticsvidhya.com/blog/2017/03/read-commonly-used-formats-using-python/?utm_content=buffer47ec4&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer