Đối với một dự án nghiên cứu, tôi có nhiều tệp CSV mà tôi cần thay đổi từ dấu phẩy [,] được phân tách thành dấu chấm phẩy [;]. Vì vậy, tôi chỉ cần thay đổi dấu phân cách.
Tôi thường làm điều đó trong Excel, nhưng điều đó mất rất nhiều công việc. Và ở đó tôi cần phải làm điều đó cho mỗi tệp riêng biệt cộng với Excel mất rất nhiều thời gian để làm điều đó.
Tôi đã thực hiện một thư mục đầu vào và đầu ra. Hoạt động tốt trong mã dưới đây. Vấn đề là:
- Dấu phẩy không được thay đổi trong một dấu chấm phẩy.
- Và vì một số lý do, nó đang thêm một dòng trống, tôi không biết tại sao nó lại làm điều đó.
Ai đó có thể đưa ra một số lời khuyên?
import csv
from pathlib import Path
folder_in = Path[r'C:\convert\Trajectory\In']
folder_out = Path[r'C:\convert\Trajectory\Out']
for incsv in folder_in.iterdir[]:
outcsv = folder_out.joinpath[incsv.name]
with open[str[incsv], 'r'] as fin, open[str[outcsv], 'w'] as fout:
reader = csv.DictReader[fin]
writer = csv.DictWriter[fout, reader.fieldnames, delimiter=';']
writer.writeheader[]
writer.writerows[reader]
Martineau
Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges
Đã hỏi ngày 22 tháng 7 năm 2017 lúc 15:16Jul 22, 2017 at 15:16
13
Không có câu trả lời, đây là đề xuất của tôi cho một dấu phẩy CSV để triển khai dấu chấm phẩy trên cùng một tệp:
path="file_to_convert.csv"
reader = list[csv.reader[open[path, "rU"], delimiter=',']]
writer = csv.writer[open[path, 'w'], delimiter=';']
writer.writerows[row for row in reader]
Tôi đã sử dụng list[]
để nội dung của trình đọc được giữ và tôi mở lại tệp để viết trong đó.
Nếu bạn không cần thay đổi trong cùng một tệp, bạn có thể kiểm tra câu trả lời này.
Đã trả lời ngày 21 tháng 3 năm 2018 lúc 19:08Mar 21, 2018 at 19:08
Trình đọc Python CSV đặt dấu phân cách với các ví dụ mã
Xin chào tất cả mọi người, trong bài đăng này, chúng tôi sẽ xem xét cách giải quyết vấn đề phân tách Python CSV trong ngôn ngữ lập trình.
>>> import csv >>> with open['eggs.csv', newline=''] as csvfile: ... spamreader = csv.reader[csvfile, delimiter=' ', quotechar='|'] ... for row in spamreader: ... print[', '.join[row]] Spam, Spam, Spam, Spam, Spam, Baked Beans Spam, Lovely Spam, Wonderful Spam
Chúng tôi đã có thể khắc phục vấn đề phân tách của Python CSV Reader bằng cách xem xét một số ví dụ khác nhau.
Làm cách nào để thay đổi phân định của tệp CSV trong Python?
Cách thay đổi dấu phân cách trong tệp CSV
- Tạo một tệp Python mới ở vị trí lưu tệp CSV của bạn.
- Mở một ví dụ nhắc nhở Anaconda.
- 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.
Làm cách nào để chỉ định một dấu phân cách trong tệp CSV?
Chỉ ra dấu phân cách trực tiếp trong tệp CSV cho điều này, hãy mở tệp của bạn trong bất kỳ trình soạn thảo văn bản nào, nói Notepad và nhập chuỗi bên dưới trước bất kỳ dữ liệu nào khác: để tách các giá trị bằng dấu phẩy: sep =, để tách các giá trị bằng dấu chấm phẩy: sep =; Để tách các giá trị bằng một đường ống: SEP = | 06-JAN-2022
Làm cách nào để đọc tệp CSV bằng cách sử dụng Delimiter trong Python?
Đọc tệp CSV bằng Python
- Sử dụng thư viện CSV. Nhập CSV với Open ["./ Bwq.csv", 'r'] dưới dạng tệp: csvreader = csv.reader [tệp] cho hàng trong csvreader: in [hàng] ở đây chúng tôi đang nhập thư viện CSV để sử dụng.
- Sử dụng thư viện Pandas. Nhập gấu trúc dưới dạng dữ liệu pd = pd.read_csv ["bwq.csv"].
Tệp CSV có thể có dấu phân cách khác nhau không?
Tệp CSV lưu trữ dữ liệu theo hàng và các giá trị trong mỗi hàng được phân tách bằng một dấu phân cách, còn được gọi là dấu phân cách. Mặc dù tệp được định nghĩa là các giá trị phân tách bằng dấu phẩy, dấu phân cách có thể là bất cứ điều gì. Các dấu phân cách phổ biến nhất là: dấu phẩy [,], dấu chấm phẩy [;], một tab [\ t], một không gian [] và một đường ống [|].
Làm thế nào để bạn thêm Delimit trong Python?
Phương pháp số 1: Sử dụng loop + str [] Đây là một trong những cách mà nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi chạy một vòng lặp để thêm dấu phân cách ở cuối mỗi phần tử, sau khi chuyển đổi từng phần tử thành chuỗi.30-AUG-2022
Làm cách nào để thay đổi dấu phân cách trong tệp văn bản?
Làm thế nào để Python phát hiện dấu phân cách?
Cài đặt
- Cú pháp: Detect [Text: Str, Text: Str, Default = none, whitelist = [',', ';', ':', '|', '\ t'], blacklist = none]
- Văn bản: Chuỗi đầu vào để kiểm tra cho dấu phân cách.
- Mặc định: Giá trị mặc định cho đầu ra trong trường hợp không tìm thấy dấu phân cách hợp lệ.
Làm cách nào để thay đổi dấu phân cách hệ thống của tôi?
Nhấp vào Tệp> Tùy chọn. Trên tab nâng cao, theo tùy chọn chỉnh sửa, xóa hộp kiểm Hệ thống sử dụng hệ thống. Nhập các dấu phân cách mới trong dấu phân cách thập phân và hàng ngàn hộp phân tách. Mẹo: Khi bạn muốn sử dụng lại bộ phân cách hệ thống, hãy chọn hộp kiểm Sử dụng DECETORS SECELATORS.
Delimiter trường trong CSV là gì?
với một nhân vật như dấu phẩy [,]. Nhân vật này được gọi là phân tách trường hoặc dấu phân cách. Khi bộ phân cách trường [DELIMITER] là dấu phẩy, tệp có định dạng được phân tách bằng dấu phẩy [CSV] hoặc được phân loại bằng dấu phẩy. Một dấu phân cách phổ biến khác là tab.
Làm cách nào để đọc nhiều cột từ tệp CSV trong Python?
Chúng tôi sẽ sử dụng thư viện của Panda để đọc dữ liệu vào danh sách. Tệp được sử dụng: Tệp. Ở đây, chúng tôi có hàm read_csv [] giúp đọc tệp CSV bằng cách chỉ cần tạo đối tượng của nó.Approach:
- Nhập mô -đun.
- Đọc dữ liệu từ tệp CSV.
- Chuyển đổi nó thành danh sách.
- In danh sách.