Làm cách nào để chuyển đổi tệp GZ thành csv trong Python?

Tệp TSV có thể được chuyển đổi thành tệp CSV bằng cách đọc từng dòng dữ liệu từ TSV và thay thế tab bằng dấu phẩy bằng thư viện re và ghi vào tệp CSV. Trước tiên, chúng tôi mở tệp TSV mà chúng tôi đọc dữ liệu, sau đó mở tệp CSV mà chúng tôi ghi dữ liệu. Chúng tôi đọc từng dòng dữ liệu. Và trong mỗi dòng, chúng tôi thay thế tab(“\t”) bằng dấu phẩy(“,”) vì dữ liệu trong tệp CSV được phân tách bằng dấu phẩy.  

Ví dụ

Tệp đầu vào

Làm cách nào để chuyển đổi tệp GZ thành csv trong Python?

Python3




# Python program to convert .tsv file to .csv file

# importing re library

import re

 

# reading given tsv file

withopen(

Successfully made csv file
0_______0_______1
Successfully made csv file
2
Successfully made csv file
3

Successfully made csv file
4_______44_______open(
Successfully made csv file
8
Successfully made csv file
1# Python program to convert .tsv file to .csv file0# Python program to convert .tsv file to .csv file1

# Python program to convert .tsv file to .csv file2_______39_______3 # Python program to convert .tsv file to .csv file4# Python program to convert .tsv file to .csv file5 # Python program to convert .tsv file to .csv file6

# Python program to convert .tsv file to .csv file7

# Python program to convert .tsv file to .csv file7# Python program to convert .tsv file to .csv file9

# Python program to convert .tsv file to .csv file7# importing re library1# importing re library2 # importing re library3_______40_______4

Successfully made csv file
1# importing re library6# importing re library7

# Python program to convert .tsv file to .csv file7

# Python program to convert .tsv file to .csv file7import0

# Python program to convert .tsv file to .csv file7import2

 

import3

import4(import6import7

đầu ra

Successfully made csv file

Làm cách nào để chuyển đổi tệp GZ thành csv trong Python?

Phương pháp 2. Sử dụng gấu trúc

Mô-đun Pandas cung cấp các phương thức giúp dễ dàng đọc dữ liệu được lưu trữ trong nhiều loại ăn quá mức. Đây là một đoạn mã chuyển đổi tệp TSV thành tệp CSV. Đầu tiên chúng tôi đọc dữ liệu từ tệp TSV bằng read_table(). Bây giờ chúng tôi ghi dữ liệu này vào tệp CSV bằng to_csv(). Ở đây ta viết index=False vì mặc định khi đọc dữ liệu với hàm read_table() nó tạo ra một cột chỉ số mới bắt đầu từ 0. Nhưng chúng tôi không ghi nó vào tệp CSV bằng cách sử dụng index=False

Mô-đun này cung cấp một giao diện đơn giản để nén và giải nén các tệp giống như các chương trình GNU gzip và gunzip.

Việc nén dữ liệu được cung cấp bởi mô-đun

Mô-đun cung cấp lớp, cũng như các chức năng tiện ích và tiện lợi. Lớp đọc và ghi các tệp định dạng gzip, tự động nén hoặc giải nén dữ liệu để nó trông giống như một tệp thông thường

Lưu ý rằng các định dạng tệp bổ sung có thể được giải nén bởi các chương trình gzip và gunzip, chẳng hạn như các định dạng được tạo bởi nén và đóng gói, không được mô-đun này hỗ trợ

Mô-đun xác định các mục sau

gzip. mở(tên tệp , chế độ='rb' , mức nén=9 , mã hóa=Không có , lỗi=Không có , dòng mới=Không có)

Mở tệp nén gzip ở chế độ nhị phân hoặc văn bản, trả về một

Đối số tên tệp có thể là tên tệp thực (a hoặc đối tượng) hoặc đối tượng tệp hiện có để đọc hoặc ghi vào

Đối số chế độ có thể là bất kỳ số nào trong số

import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
4,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
5,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
6,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
7,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
8,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
9,
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
0 hoặc
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
1 đối với chế độ nhị phân hoặc
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
2,
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
3,
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
4 hoặc
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
5 đối với chế độ văn bản. Mặc định là
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
5

Đối số nénlevel là một số nguyên từ 0 đến 9, đối với hàm tạo

Đối với chế độ nhị phân, chức năng này tương đương với hàm tạo.

import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
9. Trong trường hợp này, không được cung cấp mã hóa, lỗi và đối số dòng mới

Đối với chế độ văn bản, một đối tượng được tạo và được bao bọc trong một phiên bản có mã hóa, hành vi xử lý lỗi và (các) kết thúc dòng được chỉ định

Đã thay đổi trong phiên bản 3. 3. Đã thêm hỗ trợ cho tên tệp là một đối tượng tệp, hỗ trợ cho chế độ văn bản và mã hóa, lỗi và đối số dòng mới.

Đã thay đổi trong phiên bản 3. 4. Đã thêm hỗ trợ cho các chế độ

import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
0,
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
1 và
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
5.

Đã thay đổi trong phiên bản 3. 6. Chấp nhận một.

ngoại lệ gzip. BadGzipFile

Một ngoại lệ được đưa ra cho các tệp gzip không hợp lệ. Nó kế thừa. và cũng có thể được nâng lên đối với các tệp gzip không hợp lệ

Mới trong phiên bản 3. 8

lớp gzip. GzipFile(tên tệp=Không , chế độ=Không có , mức nén=9 , fileobj=Không , mthời gian=Không có)

Trình xây dựng cho lớp, mô phỏng hầu hết các phương thức của a , ngoại trừ phương thức

import gzip
s_in = b"Lots of content here"
s_out = gzip.compress(s_in)
9. Ít nhất một trong số fileobj và tên tệp phải được cung cấp một giá trị không tầm thường

Thể hiện của lớp mới dựa trên fileobj, có thể là tệp thông thường, đối tượng hoặc bất kỳ đối tượng nào khác mô phỏng tệp. Nó mặc định là gzip1, trong trường hợp đó tên tệp được mở để cung cấp một đối tượng tệp

Khi fileobj không phải là gzip1, đối số tên tệp chỉ được sử dụng để đưa vào tiêu đề tệp gzip, tiêu đề này có thể bao gồm tên tệp gốc của tệp không nén. Nó mặc định là tên tệp của fileobj, nếu có thể thấy rõ;

Đối số chế độ có thể là bất kỳ số nào trong số

import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
4,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
5,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
6,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
7,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
8,
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
    f.write(content)
9,
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
0 hoặc
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
1, tùy thuộc vào việc tệp sẽ được đọc hay ghi. Mặc định là chế độ của fileobj nếu có thể thấy rõ; . Trong các bản phát hành Python trong tương lai, chế độ fileobj sẽ không được sử dụng. Tốt hơn là luôn chỉ định chế độ viết

Lưu ý rằng tệp luôn được mở ở chế độ nhị phân. Để mở tệp nén ở chế độ văn bản, hãy sử dụng (hoặc ngắt dòng của bạn bằng dấu )

Đối số mức độ nén là một số nguyên từ zlib5 đến zlib6 kiểm soát mức độ nén; . zlib5 không nén. Mặc định là zlib6

Đối số mtime là dấu thời gian dạng số tùy chọn được ghi vào trường thời gian sửa đổi cuối cùng trong luồng khi nén. Nó chỉ nên được cung cấp ở chế độ nén. Nếu bỏ qua hoặc gzip1, thời gian hiện tại được sử dụng. Xem thuộc tính để biết thêm chi tiết

Gọi phương thức gzip4 của một đối tượng không đóng fileobj, vì bạn có thể muốn nối thêm tài liệu sau dữ liệu đã nén. Điều này cũng cho phép bạn chuyển một đối tượng được mở để ghi dưới dạng fileobj và truy xuất bộ nhớ đệm kết quả bằng phương thức của đối tượng

hỗ trợ giao diện, bao gồm phép lặp và câu lệnh. Chỉ phương pháp

import gzip
s_in = b"Lots of content here"
s_out = gzip.compress(s_in)
9 không được triển khai

cũng cung cấp phương thức và thuộc tính sau

nhòm(n)

Đọc n byte không nén mà không tăng vị trí tệp. Nhiều nhất một lần đọc trên luồng nén được thực hiện để đáp ứng cuộc gọi. Số byte được trả về có thể nhiều hơn hoặc ít hơn yêu cầu

Ghi chú

Trong khi gọi không thay đổi vị trí tệp của , nó có thể thay đổi vị trí của đối tượng tệp bên dưới (e. g. nếu được xây dựng với fileobj tham số)

Mới trong phiên bản 3. 2

thời gian

Khi giải nén, giá trị của trường thời gian sửa đổi cuối cùng trong tiêu đề được đọc gần đây nhất có thể được đọc từ thuộc tính này, dưới dạng số nguyên. Giá trị ban đầu trước khi đọc bất kỳ tiêu đề nào là gzip1

Tất cả các luồng nén gzip đều phải chứa trường dấu thời gian này. Một số chương trình, chẳng hạn như gunzip, sử dụng dấu thời gian. Định dạng giống như giá trị trả về và thuộc tính của đối tượng được trả về bởi

Đã thay đổi trong phiên bản 3. 1. Hỗ trợ cho câu lệnh đã được thêm vào, cùng với đối số và thuộc tính hàm tạo mtime.

Đã thay đổi trong phiên bản 3. 2. Đã thêm hỗ trợ cho các tệp không đệm và không thể tìm thấy.

Đã thay đổi trong phiên bản 3. 3. Phương thức hiện đã được triển khai.

Đã thay đổi trong phiên bản 3. 4. Đã thêm hỗ trợ cho các chế độ

import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
0 và
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
1.

Đã thay đổi trong phiên bản 3. 5. Đã thêm hỗ trợ viết tùy ý. Phương thức hiện chấp nhận một đối số của gzip1.

Đã thay đổi trong phiên bản 3. 6. Chấp nhận một.

Không dùng nữa kể từ phiên bản 3. 9. Việc mở để viết mà không chỉ định đối số chế độ không được chấp nhận.

gzip. nén(dữ liệu , mức nén=9 , * , mthời gian=Không có)

Nén dữ liệu, trả về một đối tượng chứa dữ liệu đã nén. nénlevel và mtime có cùng ý nghĩa như trong hàm tạo ở trên. Khi mtime được đặt thành zlib5, chức năng này tương đương với wbit được đặt thành compress()2. Chức năng zlib nhanh hơn

Mới trong phiên bản 3. 2

Đã thay đổi trong phiên bản 3. 8. Đã thêm tham số mtime cho đầu ra có thể lặp lại.

Đã thay đổi trong phiên bản 3. 11. Tốc độ được cải thiện bằng cách nén tất cả dữ liệu cùng một lúc thay vì theo kiểu truyền phát. Các cuộc gọi với mtime được đặt thành zlib5 được ủy quyền để có tốc độ tốt hơn.

gzip. giải nén(dữ liệu)

Giải nén dữ liệu, trả về một đối tượng chứa dữ liệu không nén. Chức năng này có khả năng giải nén dữ liệu gzip nhiều thành viên (nhiều khối gzip nối với nhau). Khi dữ liệu chắc chắn chỉ chứa một thành viên, hàm có wbits được đặt thành 31 sẽ nhanh hơn

Làm cách nào để chuyển đổi tệp CSV GZ sang CSV bằng Python?

csv ) và đọc nó trong trình bao Python của bạn, sử dụng gzip. lệnh gọi hàm open(filename, 'rt', newline='') để mở tệp gzip, tệp. read() để đọc nội dung của nó và tệp. write() để ghi CSV trong tệp (đã giải nén) bình thường.

Làm cách nào để chuyển đổi tệp GZ sang CSV trong Unix?

Bạn có thể chuyển đổi tài liệu GZ của mình từ bất kỳ nền tảng nào (Windows, Linux, macOS). Không cần đăng ký. Chỉ cần kéo và thả tệp GZ của bạn vào biểu mẫu tải lên, chọn định dạng đầu ra mong muốn và nhấp vào nút chuyển đổi . Sau khi chuyển đổi hoàn tất, bạn có thể tải xuống tệp CSV của mình.

Loại tệp CSV GZ là gì?

csv. gz. Đây là tệp CSV được nén . Tải xuống tệp này và giải nén tệp nén - điều này sẽ tạo ra một tệp có tên là danh sách.

Làm cách nào để lưu CSV dưới dạng GZ trong gấu trúc?

Để lưu khung dữ liệu Pandas dưới dạng tệp gzip, chúng tôi sử dụng 'compression=”gzip”' ngoài tên tệp làm đối số cho hàm to_csv(). In this example below, we save our dataframe as csv file without row index in compressed, i.e. gzip file, form. In addition to gzip file, we can also compress the file in other formats.