Python을 사용하여 gz 파일의 압축을 푸는 방법
FTP 사이트에서 로컬 Windows 파일 서버로 다운로드한 gz 파일을 추출해야 합니다.파일의 로컬 경로에 대한 변수를 설정했으며 GZIP muddle에서 사용할 수 있는 것으로 알고 있습니다.
어떻게 해야 하나요?GZ 파일 내부의 파일은 XML 파일입니다.
import gzip
import shutil
with gzip.open('file.txt.gz', 'rb') as f_in:
with open('file.txt', 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
import gzip
with gzip.open('file.txt.gz', 'rb') as f:
file_content = f.read()
아마도 여러분은 판다에게도 그것을 전달하고 싶을 것입니다.
with gzip.open('features_train.csv.gz') as f:
features_train = pd.read_csv(f)
features_train.head()
from sh import gunzip
gunzip('/tmp/file1.gz')
xml 데이터를 사용하고 있으며 현재는 없기 때문에 정확한 답변이 아닙니다.pd.read_xml()기능(v0.23.4 기준), 그러나 판다(v0.21.0 이후)는 파일 압축을 해제할 수 있습니다!고마워요, 웨스!
import pandas as pd
import os
fn = '../data/file_to_load.json.gz'
print(os.path.isfile(fn))
df = pd.read_json(fn, lines=True, compression='gzip')
df.tail()
압축을 푼 후 파일을 구문 분석하는 경우 파일을 이진 파일로 열 때 decode() 메서드를 사용해야 합니다.
import gzip
with gzip.open(file.gz, 'rb') as f:
for line in f:
print(line.decode().strip())
그것은 매우 간단합니다.여기 있습니다!!
import gzip
#path_to_file_to_be_extracted
ip = sample.gzip
#output file to be filled
op = open("output_file","w")
with gzip.open(ip,"rb") as ip_byte:
op.write(ip_byte.read().decode("utf-8")
wf.close()
를 사용하여 다음 작업을 수행할 수 있습니다.
- 입력 파일 읽기
rb모드; - 출력 파일 열기
w모드 및utf8인코딩; gzip.decompress()입력 바이트;- 얻을 수 있는 것을 해독합니다.
str. - 글을 쓰다
str출력 파일에 저장합니다.
def decompress(infile, tofile):
with open(infile, 'rb') as inf, open(tofile, 'w', encoding='utf8') as tof:
decom_str = gzip.decompress(inf.read()).decode('utf-8')
tof.write(decom_str)
컴퓨터에 gzip(및 gunzip) 프로그램이 설치되어 있다면 python에서 명령을 호출하는 간단한 방법이 있습니다.
import os
filename = 'file.txt.gz'
os.system('gunzip ' + filename)
선택적으로, 원본 파일을 보존하려면,
os.system('gunzip --keep ' + filename)
Linux 환경을 사용하는 경우 명령을 사용하여 압축을 푸는 것은 매우 쉽습니다.gunzip파일 폴더로 이동하여 아래와 같이 제공합니다.
gunzip file-name
언급URL : https://stackoverflow.com/questions/31028815/how-to-unzip-gz-file-using-python
'programing' 카테고리의 다른 글
| 독립 축에 시간 표시 (0) | 2023.07.18 |
|---|---|
| 텍스트 파일에 다차원 배열을 쓰는 방법은 무엇입니까? (0) | 2023.07.18 |
| 두 열의 상관 관계를 가져오려면 .corr 사용 (0) | 2023.07.13 |
| Oracle SQL "SELECT DATTIME 필드" (0) | 2023.07.13 |
| TypeScript와 Babel을 함께 사용할 수 있습니까? (0) | 2023.07.13 |