Giống như csv.reader()
có bất kỳ chức năng nào khác có thể đọc các tệp .rtf
, .txt
, .doc
bằng Python không?Trình đọc tài liệu, rtf và txt trong python
Trả lời
Bạn có thể đọc một tập tin văn bản với
txt = open("file.txt").read()
Hãy thử PyRTF cho các tập tin RTF. Tôi nghĩ rằng đọc MS Word .doc tập tin là khá khó trừ khi bạn đang ở trên Windows và bạn có thể sử dụng một số giao diện MS bản địa để đọc những tập tin đó. This article xác nhận quyền sở hữu để hiển thị cách viết tập lệnh giao diện với Word.
csv
là định dạng cụ thể, do đó bạn cần "trình phân tích cú pháp" để đọc. Đây là những gì mô-đun csv cung cấp như bạn đã đề cập. Các tệp văn bản (thường được gắn với .txt
) không có bất kỳ "định dạng" cố định nào để bạn có thể đọc chúng sau khi open
nhập chúng (câu trả lời của Jesse cung cấp chi tiết). Tệp CSV thường là tệp văn bản nên sự khác biệt của bạn không chính xác lắm.
Đối với RTF, Có một nhóm trong số đó. Xem this answer để biết chi tiết. Điều PyRTF mà Jesse đề cập có vẻ là phổ biến nhất mặc dù.
Tệp tài liệu Microsoft Word (thường được gắn liền với .doc
) là một con thú khác vì định dạng này là độc quyền. Tôi không có nhiều kinh nghiệm với các trình chuyển đổi Python nhưng có một vài dòng lệnh (như wvHTML) làm một công việc khá tốt. This question thảo luận khá nhiều. Ngoài ra còn có các tùy chọn có MS-Word chính nó làm điều đó cho bạn thông qua. một giao diện COM như Jesse đã đề cập.
Tôi đã có một nhức đầu thực sự cố gắng để làm điều này đơn giản cho các tài liệu từ và nhà văn.
Có một giải pháp đơn giản: gọi openoffice trên dòng lệnh để chuyển tài liệu đích của bạn thành văn bản, sau đó tải văn bản vào Python.
Các công cụ chuyển đổi khác mà tôi đã thử sản xuất không đáng tin cậy, trong khi các thư viện OOo Python khác quá phức tạp.
Nếu bạn chỉ muốn nhận vào văn bản để bạn có thể xử lý nó, sử dụng nó trên dòng lệnh Linux:
soffice --headless --convert-to txt:Text /path_to/document_to_convert.doc
(gọi nó từ Python sử dụng tiến trình con nếu bạn muốn tự động hoá nó).
Nó sẽ tạo tệp văn bản mà bạn có thể tải đơn giản vào python.
(Credit)
import win32com.client
if tmpFile.endswith('.xml') or tmpFile.endswith('.doc') or tmpFile.endswith('.docx'):
app = win32com.client.Dispatch("Word.Application")
app.Visible = False
app.Documents.Open(tmpFile)
doc = app.ActiveDocument
docText = doc.Content.Text
print(docText)
doc.Close()
app.Quit()
Không sử dụng '|'. Có một 'hoặc' cho điều đó. – FunkySayu
Có một mô-đun python gọi 'docx' mà bạn có thể sử dụng để đọc .docx tập tin. Bạn sẽ không thể đọc .doc dù nó gần như lỗi thời.
from docx import Document
doc = Document(filepath)
# Reading Data
data = doc.paragraphs
tables = doc.tables
Bạn có thể tìm thấy số Here trên Pypi.
- 1. Đọc tệp .txt bên trong thư mục tài liệu
- 2. Đọc tập tin txt với đa luồng trong python
- 3. Mục tiêu iOS C: Hiển thị tài liệu RTF
- 4. Đọc Tài liệu PDF trong Android
- 5. Làm thế nào để buộc một tệp txt được đọc dưới dạng tài liệu html bởi trình duyệt?
- 6. Phân tích cú pháp tài liệu RTF bằng Java/JavaCC
- 7. Mở và đọc txt tập tin trong ASP
- 8. trình đọc python libxml2 và XML_PARSE_RECOVER
- 9. Cách mở tệp txt và đọc số trong Java
- 10. Đọc (và ghi) tập tin RTF với C++/Qt
- 11. Vấn đề với việc chọn nhiều dòng của tài liệu txt và ghi vào tài liệu văn bản mới trong python
- 12. Đọc txt lớn hiệu quả trong C++
- 13. Cách đọc tệp .RTF bằng .NET 4.0
- 14. Tìm và thay thế văn bản bằng tài liệu txt bằng Visual Basic
- 15. Đọc nổi từ tệp .txt
- 16. Có cách nào để đọc tệp .txt và lưu từng dòng vào bộ nhớ không?
- 17. Tài liệu Python trong Eclipse
- 18. Đọc tài liệu PDF trong .Net
- 19. Đọc tài liệu XML lớn trong .net
- 20. Đọc tài liệu ghép trong C#
- 21. Hiển thị tài liệu XPS trong Trình xem tài liệu
- 22. Xử lý tệp .txt lớn trong python hiệu quả
- 23. Tệp tin AndroidInInStreamStream đọc() txt đến chuỗi
- 24. Đọc một dòng đặc biệt trong tệp txt trong Java
- 25. Xem trước tài liệu trong Trình duyệt
- 26. Tạo tài liệu HTML trong python
- 27. Đọc dữ liệu từ bảng tính tài liệu google
- 28. Thay thế các tài liệu python
- 29. tài liệu mã cho python
- 30. jqGrid và trình đọc JSON
liên quan: [trích xuất văn bản từ các tệp từ MS trong python] (http://stackoverflow.com/q/125222/4279) – jfs