Hướng dẫn how do i convert a csv file to a tab delimited in python? - làm cách nào để chuyển đổi tệp csv sang tab được phân tách bằng python?

Python là ngôn ngữ lập trình mạnh mẽ cho phép bạn dễ dàng làm việc với các tệp và chuyển đổi các tệp từ định dạng này sang định dạng khác. Thông thường chúng tôi nhận được dữ liệu dưới dạng các tệp CSV nơi có giá trị dữ liệu ở định dạng phân tách dấu phẩy. Nhưng chúng ta có thể cần chuyển đổi chúng thành các tệp được phân định Tab để có thể sử dụng nó trong một phần mềm khác. Điều này đặc biệt đúng nếu bạn đang thực hiện phân tích dữ liệu bằng nhiều phần mềm hoặc nền tảng. Trong những trường hợp như vậy, rất hữu ích khi chuyển đổi tệp CSV thành Tab được phân định bằng Python. Trong bài viết này, chúng tôi sẽ tìm hiểu cách chuyển đổi các tệp CSV thành các tệp được phân định Tab.

Dưới đây là các bước để chuyển đổi tệp CSV sang Tab được phân định trong Python.

Đầu tiên, hãy tạo tệp tập lệnh Python trống

$ vi csv_to_tab.py

Thêm các dòng sau vào nó để đặt môi trường thực thi của nó.

Đối với các tệp Python 2

#!/usr/bin/env python

Đối với các tệp Python 3

#!/usr/bin/env python

Chúng tôi sẽ sử dụng CSV thư viện sẵn có của Python để chuyển đổi các tệp được phân định CSV sang Tab. Vì vậy, thêm các dòng sau để nhập thư viện CSV và HĐH.

import csv
import os

Tiếp theo, chúng tôi lưu trữ đường dẫn đến tệp CSV trong tệp biến bằng cách thêm dòng sau. Bạn có thể thay đổi đường dẫn tệp theo yêu cầu của bạn.

file='/home/ubuntu/data.csv'

Tiếp theo, thêm các dòng sau về cơ bản mở tệp CSV, đọc từng dòng tệp CSV và ghi nội dung của nó theo định dạng được phân định theo tab vào tệp /home/ubuntu/data.txt.

with open(file+'.csv','r') as csv_file:
            csv_reader = csv.reader(csv_file)
            csv_reader.next()  ## skip one line (the first one)
            newfile = file + '.txt'

            for line in csv_reader:
                with open(newfile, 'a') as new_txt:    #new file has .txt extn
                    txt_writer = csv.writer(new_txt, delimiter = '\t') #writefile
                    txt_writer.writerow(line)   #write the lines to file`

Chúng ta hãy xem xét mã trên. Đầu tiên, chúng tôi sử dụng hàm Open () để mở tệp CSV. Chúng tôi chuyển đường dẫn tệp đến tệp CSV cho chức năng này.

Tiếp theo, chúng tôi sử dụng csv.Reader () để tạo đầu đọc tệp cho tệp của chúng tôi. Nó sẽ giúp sử dụng Traverse the File, từng dòng. Sau đó, chúng tôi gọi hàm tiếp theo () trên tệp để bỏ qua dòng đầu tiên, nghĩa là một hàm có tiêu đề cột. Nếu bạn muốn giữ lại các tiêu đề cột trong tệp được phân định tab của bạn, hãy bỏ qua dòng này.

Chúng tôi xác định biến NewFile là đường dẫn đến tệp .txt được phân tách tab của chúng tôi, chúng tôi có được bằng cách thêm .TXT vào đường dẫn tệp CSV.

Sau đó, chúng tôi sử dụng hàm Open () để mở tệp văn bản. Chúng tôi chạy một vòng lặp cho tệp CSV bằng đối tượng CSV_Reader. Mỗi lần lặp sẽ tìm nạp dòng tiếp theo trong tệp CSV. Chúng tôi sử dụng hàm csv.Writer () để chuyển đổi từng dòng từng một sang định dạng được phân định, bằng cách chỉ định tùy chọn Delimiter. Cuối cùng, chúng tôi gọi hàm writerow () để ghi nội dung vào tệp.

Lưu và đóng tập tin. Làm cho nó một thực thi với lệnh sau.

$ chmod +x csv_to_tab.py

Bạn có thể chạy tệp với lệnh sau.

$ python csv_to_tab.py

Khi bạn chạy mã trên, bạn sẽ tìm thấy tệp văn bản được phân định tab của mình tại /home/ubuntu/data.csv.txt. Đây là mã đầy đủ cho tài liệu tham khảo của bạn.

#!/usr/bin/env python
import csv
import os

with open(file+'.csv','r') as csv_file:
            csv_reader = csv.reader(csv_file)
            csv_reader.next()  ## skip one line (the first one)
            newfile = file + '.txt'

            for line in csv_reader:
                with open(newfile, 'a') as new_txt:    #new file has .txt extn
                    txt_writer = csv.writer(new_txt, delimiter = '\t') #writefile
                    txt_writer.writerow(line)   #write the lines to file`

Nếu bạn muốn chuyển đổi nhiều tệp CSV nằm trong thư mục, hãy sửa đổi mã trên như hiển thị bên dưới.

#!/usr/bin/env python
import csv
import os

dir_path='/home/ubuntu'


for file in os.listdir(dir_path): 

    file_name, file_ext = os.path.splitext(file)

    if file_ext == '.csv':
        with open(file,'r') as csv_file:
            csv_reader = csv.reader(csv_file)

            csv_reader.next()  ## skip one line (the first one)

            newfile = file + '.txt'

            for line in csv_reader:
                with open(newfile, 'a') as new_txt:    #new file has .txt extn
                    txt_writer = csv.writer(new_txt, delimiter = '\t') #writefile
                    txt_writer.writerow(line)   #write the lines to file`

Trong mã trên, chúng tôi lưu trữ đường dẫn thư mục trong biến dir_path. Chúng tôi sử dụng hàm Os.ListDir () để liệt kê tất cả các tệp và thư mục trong thư mục này. Chúng tôi chạy một vòng lặp cho danh sách này để chạy qua từng tệp và thư mục. Trong mỗi lần lặp, chúng tôi kiểm tra xem tiện ích mở rộng tệp được lưu trữ trong biến FILE_EXT là .csv. Nếu vậy, chúng tôi mở tệp và sao chép nội dung của nó vào một tệp văn bản được phân định tab tương ứng mà chúng tôi tạo bằng cách thêm tiện ích mở rộng .txt vào đường dẫn tệp CSV. Vì vậy, nếu bạn có tệp data1.csv, data2.csv, data3.csv trong thư mục, nội dung của chúng sẽ được ghi vào Tab được phân định tệp data1.txt, data2.txt, data3.txt.

Trong bài viết này, chúng tôi đã học được cách chuyển đổi tệp CSV sang tệp văn bản được phân định Tab.

Cũng đọc:

Cách nhấn mạnh văn bản Linux Máy chủChedule cron Công việc cứ sau 1 giờ trong Linuxhow để gửi tin nhắn tới người dùng đã đăng nhập trong Linuxhow để xóa tài khoản người dùng bằng thư mục nhà
Schedule Cron Job Every 1 Hour in Linux
How to Send Message to Logged User in Linux
How to Delete User Accounts With Home Directory
How to Update or Change System Locale in Linux

Bài viết liên quan:

Làm cách nào để chuyển đổi tệp CSV thành tệp được phân định tab?

Nếu bạn đang sử dụng Microsoft Excel:..
Mở menu Tệp và chọn lệnh lưu dưới dạng ...
Trong hộp lưu dưới dạng loại xuống, chọn tùy chọn văn bản (tab được phân định) (*. TXT) ..
Chọn nút Lưu. Nếu bạn thấy thông báo cảnh báo bật lên, hãy chọn nút OK hoặc có ..

Làm thế nào để bạn đặt một dấu phân cách tab trong Python?

Một tệp được chọn theo tab chỉ sử dụng các quy tắc chấm câu RWO để mã hóa dữ liệu ...
Mỗi hàng được phân định bởi một ký tự dòng thông thường.Đây thường là tiêu chuẩn \ n.....
Trong một hàng, các cột được phân định bởi một ký tự, thường là \ t ..

Làm cách nào để phân định tệp CSV trong Python?

Nhập Python Change_Delimiter.py (thay đổi thay đổi_delimiter.py bằng tên của tệp python của bạn) sau đó nhấn Enter.Tệp được phân tách bằng dấu phẩy bây giờ sẽ được đọc trong đó một tệp mới sẽ được xuất vào.Định dạng TXT với dấu phân cách mới.. The comma-separated file will now be read in then a new file will be output in . txt format with the new delimiter.

Làm cách nào để lưu tệp được phân định tab trong Python?

Cách tiếp cận :..
Nhập các mô -đun Gandas và Numpy ..
Tạo DataFrame bằng phương thức DataFrame () ..
Lưu DataFrame dưới dạng tệp CSV bằng phương thức TO_CSV () với tham số SEP dưới dạng \ \ t Hồi ..
Tải tệp CSV mới được tạo bằng phương thức read_csv () dưới dạng dataFrame ..
Hiển thị DataFrame mới ..