Ai đó có thể cung cấp cách hiệu quả để kiểm tra xem tệp có định dạng CSV bằng Python không?Kiểm tra xem tệp có định dạng CSV với Python
Trả lời
Python có số csv module, vì vậy bạn có thể thử phân tích cú pháp dưới nhiều loại phương ngữ khác nhau.
Bạn cần suy nghĩ rõ ràng về những gì bạn cho là tệp CSV.
Ví dụ: loại ký tự nào có thể xảy ra giữa dấu phẩy. Nó chỉ là văn bản? Nó có thể là các ký tự Unicode không? Mỗi dòng có cùng số dấu phẩy không?
Không có định nghĩa nghiêm ngặt về tệp CSV mà tôi biết. Thông thường, văn bản ASCII của nó được phân tách bằng dấu phẩy và mỗi dòng có cùng số dấu phẩy và được chấm dứt bởi trình kết thúc dòng của nền tảng của bạn.
Dù sao, khi bạn trả lời các câu hỏi ở trên, bạn sẽ cách xa hơn một chút để biết cách phát hiện khi tệp là tệp CSV.
Bạn có thể thử một số nội dung như sau, nhưng chỉ vì bạn nhận được một phương ngữ từ csv.Sniffer
thực sự sẽ không đủ để đảm bảo bạn có tài liệu CSV hợp lệ.
csv_fileh = open(somefile, 'rb')
try:
dialect = csv.Sniffer().sniff(csv_fileh.read(1024))
# Perform various checks on the dialect (e.g., lineseparator,
# delimiter) to make sure it's sane
# Don't forget to reset the read position back to the start of
# the file before reading any entries.
csv_fileh.seek(0)
except csv.Error:
# File appears not to be in CSV format; move along
* "... sẽ không đủ để đảm bảo ..." *: Vâng. Không cung cấp phương ngữ, tôi đã phát hiện tệp .ZIP dưới dạng CSV hợp lệ, với @ làm dấu phân tách – alanjds
Hãy thử phân tích cú pháp dưới dạng CSV và xem bạn có gặp lỗi hay không.
- 1. Kiểm tra định dạng chuỗi python?
- 2. Kiểm tra xem tệp từ xa có phải là XML được định dạng tốt với PHP
- 3. Tải lên tệp csv có định dạng cố định
- 4. Kiểm tra xem tệp CSV lớn (1m hàng) có cùng dữ liệu với bảng MySQL
- 5. Kiểm tra xem chuỗi có được định dạng XML
- 6. Python - Kiểm tra xem tệp có trống hay không
- 7. Kiểm tra xem Tệp PDF có hợp lệ không (Python)
- 8. Kiểm tra xem tệp có đang mở
- 9. xem định dạng thời gian python
- 10. kiểm tra xem tệp nào đang mở trong Python
- 11. Python/win32com - Kiểm tra xem Chương trình có đang mở
- 12. T-SQL: kiểm tra định dạng email
- 13. Kiểm tra xem tệp có phải là một đường ống có tên (nămo) trong python không?
- 14. Kiểm tra xem biểu tượng có được xác định là
- 15. CMake kiểm tra xem tệp cục bộ có tồn tại
- 16. cách kiểm tra xem 2 tệp có bằng .NET không?
- 17. Kiểm tra xem có yêu cầu AJAX bằng Python
- 18. Cách kiểm tra xem biến có trống không trong python?
- 19. Python - Cách kiểm tra xem tệp có được ứng dụng khác sử dụng không?
- 20. Kiểm tra xem chuỗi python có thể in được không
- 21. Cách kiểm tra xem tệp .txt có ở định dạng ASCII hoặc UTF-8 trong môi trường Windows không?
- 22. Kiểm tra xem hộp kiểm có được chọn với jQuery
- 23. Kiểm tra xem luồng có phải là tệp zip
- 24. Để kiểm tra xem hai tệp hình ảnh có giống nhau không. Kiểm tra hoặc băm?
- 25. Kiểm tra xem đường dẫn có hợp lệ trong Python
- 26. Kiểm tra xem Gói Python có được cài đặt
- 27. python: kiểm tra xem url có tồn tại jpg không.
- 28. Cách kiểm tra xem tệp có tồn tại trong makefile
- 29. PHP kiểm tra xem tệp có chứa chuỗi
- 30. kiểm tra xem tệp có thể thực thi
Chào mừng bạn đến với stackoverflow. Câu hỏi của bạn có thể sử dụng chi tiết hơn. Là một starter, bạn có thể vui lòng xác định những gì bạn có nghĩa là "định dạng csv?" Bạn sẽ cần phải xác định một cách cẩn thận định dạng này. Có tồn tại ký tự thoát, dấu bình luận hoặc ký tự ngoặc kép ở định dạng này không? Nếu câu hỏi này là bài tập về nhà, vui lòng thêm thẻ có tên là "bài tập về nhà" để các câu trả lời có thể cung cấp cho bạn loại hướng dẫn phù hợp. –
Ý tôi là trên tệp CSV Giá trị được phân tách bằng dấu phẩy, hãy xem http://en.wikipedia.org/wiki/Comma-separated_values để biết thêm chi tiết.; – Joe
Nếu bằng csv 'giá trị được phân cách bằng dấu phẩy' có nghĩa là, thì không có standart của định dạng đó. – Max