Hướng dẫn how does python process xml data? - python xử lý dữ liệu xml như thế nào?
Show
Hướng dẫn dành cho người mới bắt đầuNhiếp ảnh tập trung nông của nhện Web Web của Robert Anasch trên unplashTìm hiểu cách bạn có thể phân tích, khám phá, sửa đổi và điền các tệp XML với gói Python ElementTree, cho các vòng lặp và biểu thức XPath. Là một nhà khoa học dữ liệu, bạn sẽ thấy rằng việc hiểu XML rất mạnh mẽ cho cả thực hành web và thực hành chung trong việc phân tích một tài liệu có cấu trúc Ngôn ngữ đánh dấu có thể mở rộng (XML) là ngôn ngữ đánh dấu mã hóa các tài liệu bằng cách xác định một tập hợp các quy tắc ở cả định dạng có thể đọc được bằng máy và có thể đọc được. Mở rộng từ SGML (Ngôn ngữ đánh dấu tổng quát tiêu chuẩn), nó cho phép chúng tôi mô tả cấu trúc của tài liệu. Trong XML, chúng ta có thể xác định các thẻ tùy chỉnh. Chúng tôi cũng có thể sử dụng XML làm định dạng tiêu chuẩn để trao đổi thông tin.(XML) is a markup language which encodes documents by defining a set of rules in both machine-readable and human-readable format. Extended from SGML (Standard Generalized Markup Language), it lets us describe the structure of the document. In XML, we can define custom tags. We can also use XML as a standard format to exchange information.
Ở đây, một ảnh chụp nhanh tree = ET.parse('movies.xml') 5 mà chúng tôi sẽ sử dụng cho hướng dẫn này:
Giới thiệu về ElementTreeCấu trúc cây XML làm cho điều hướng, sửa đổi và loại bỏ tương đối đơn giản theo chương trình. Python có một thư viện, ElementTree tích hợp, có các chức năng để đọc và thao tác XMLS (và các tệp có cấu trúc tương tự khác).ElementTree, that has functions to read and manipulate XMLs (and other similarly structured files). Đầu tiên, nhập tree = ET.parse('movies.xml') 6. Đó là một thực tế phổ biến để sử dụng bí danh của tree = ET.parse('movies.xml') 7:import xml.etree.ElementTree as ET Phân tích dữ liệu XMLTrong tệp XML được cung cấp, có một bộ phim cơ bản được mô tả. Vấn đề duy nhất là dữ liệu là một mớ hỗn độn! Đã có rất nhiều người phụ trách khác nhau của bộ sưu tập này và mọi người đều có cách nhập dữ liệu riêng vào tệp. Mục tiêu chính trong hướng dẫn này sẽ là đọc và hiểu tệp với Python - sau đó khắc phục các vấn đề. Đầu tiên bạn cần đọc trong tệp với tree = ET.parse('movies.xml') 6.tree = ET.parse('movies.xml') Bây giờ bạn đã khởi tạo cây, bạn nên nhìn vào XML và in ra các giá trị để hiểu cách cấu trúc cây. root.tag'collection' Ở cấp cao nhất, bạn thấy rằng XML này được bắt nguồn từ thẻ tree = ET.parse('movies.xml') 9.root.attrib{} Cho các vòng lặpBạn có thể dễ dàng lặp lại trên các phần mềm (thường được gọi là trẻ em trẻ em) trong root bằng cách sử dụng một vòng lặp đơn giản cho vòng lặp. for child in root: Bây giờ bạn biết rằng những đứa trẻ của gốc tree = ET.parse('movies.xml') 9 đều là root.tag'collection'1. Để chỉ định thể loại, XML sử dụng thuộc tính root.tag'collection'2. Có những bộ phim hành động, phim kinh dị và hài kịch theo yếu tố root.tag'collection'1. Thông thường, rất hữu ích khi biết tất cả các yếu tố trong toàn bộ cây. Một chức năng hữu ích để làm điều đó là root.tag'collection'4. [elem.tag for elem in root.iter()]['collection', Có một cách hữu ích để xem toàn bộ tài liệu. Nếu bạn chuyển gốc vào phương thức root.tag'collection'5, bạn có thể trả lại toàn bộ tài liệu. Trong ElementTree, phương pháp này có một dạng hơi lạ. Vì ElementTree là một thư viện mạnh mẽ có thể diễn giải nhiều hơn chỉ XML, bạn phải chỉ định cả mã hóa và giải mã tài liệu bạn đang hiển thị dưới dạng chuỗi. Bạn có thể mở rộng việc sử dụng chức năng root.tag'collection'6 để giúp tìm các yếu tố cụ thể quan tâm. root.tag'collection'4 sẽ liệt kê tất cả các subels trong root phù hợp với phần tử được chỉ định. Ở đây, bạn sẽ liệt kê tất cả các thuộc tính của phần tử root.tag'collection'8 trong cây: for movie in root.iter('movie'): Biểu thức XPathNhiều lần các yếu tố sẽ không có thuộc tính, chúng sẽ chỉ có nội dung văn bản. Sử dụng thuộc tính root.tag'collection'9, bạn có thể in nội dung này. Bây giờ, in ra tất cả các mô tả của các bộ phim. for description in root.iter('description'): In XML rất hữu ích, nhưng XPath là ngôn ngữ truy vấn được sử dụng để tìm kiếm thông qua XML nhanh chóng và dễ dàng. Tuy nhiên, việc hiểu XPath là cực kỳ quan trọng đối với việc quét và điền XMLS. tree = ET.parse('movies.xml') 6 có chức năng root.attrib{}1 sẽ đi qua những đứa trẻ ngay lập tức của yếu tố được tham chiếu. Tại đây, bạn sẽ tìm kiếm cây cho những bộ phim ra mắt vào năm 1992: for movie in root.findall("./genre/decade/movie/[year='1992']"): Hàm root.attrib{}1 luôn bắt đầu tại phần tử được chỉ định. Loại chức năng này cực kỳ mạnh mẽ cho "Tìm và thay thế". Bạn thậm chí có thể tìm kiếm trên các thuộc tính! Bây giờ, chỉ in ra những bộ phim có sẵn ở nhiều định dạng (một thuộc tính). import xml.etree.ElementTree as ET 0Động não tại sao, trong trường hợp này, câu lệnh in trả về các giá trị của vâng của root.attrib{}3. Hãy suy nghĩ về cách xác định vòng lặp "cho". Mẹo: Sử dụng root.attrib{}4 inside of XPath to return the parent element of the current element. import xml.etree.ElementTree as ET 1Sửa đổi XMLTrước đó, các tựa phim là một mớ hỗn độn tuyệt đối. Bây giờ, in lại chúng: for movie in root.iter('movie'): Khắc phục ’2, trong tương lai. Tương lai. Đó nên là một vấn đề tìm thấy và thay thế. Viết mã để tìm tiêu đề ‘Back 2 The Future, và lưu nó dưới dạng biến: import xml.etree.ElementTree as ET 3Lưu ý rằng sử dụng phương thức root.attrib{}5 trả về một phần tử của cây. Phần lớn thời gian, nó hữu ích hơn khi chỉnh sửa nội dung trong một phần tử. Sửa đổi thuộc tính root.attrib{}6 của Back 2 Biến phần tử trong tương lai để đọc "trở lại tương lai". Sau đó, in ra các thuộc tính của biến của bạn để xem sự thay đổi của bạn. Bạn có thể dễ dàng thực hiện điều này bằng cách truy cập thuộc tính của một phần tử và sau đó gán một giá trị mới cho nó: import xml.etree.ElementTree as ET 4Viết lại các thay đổi của bạn trở lại XML để chúng được sửa vĩnh viễn trong tài liệu. In lại các thuộc tính phim của bạn một lần nữa để đảm bảo các thay đổi của bạn hoạt động. Sử dụng phương thức root.attrib{}7 để làm điều này: import xml.etree.ElementTree as ET 5Sửa các thuộc tínhThuộc tính root.attrib{}3 không chính xác ở một số nơi. Sử dụng tree = ET.parse('movies.xml') 6 để sửa lỗi chỉ định dựa trên số lượng bộ phim xuất hiện. Đầu tiên, in for child in root:0Attribution và văn bản để xem phần nào cần được sửa. import xml.etree.ElementTree as ET 6Có một số công việc cần phải được thực hiện trên thẻ này. Bạn có thể sử dụng Regex để tìm dấu phẩy - điều đó sẽ cho biết liệu thuộc tính root.attrib{}3 nên là "có" hoặc "không". Thêm và sửa đổi các thuộc tính có thể được thực hiện dễ dàng với for child in root:2Method. import xml.etree.ElementTree as ET 7Các yếu tố di chuyểnMột số dữ liệu đã được đặt trong thập kỷ sai. Sử dụng những gì bạn đã học về XML và tree = ET.parse('movies.xml') 6 để tìm và sửa lỗi dữ liệu thập kỷ.Sẽ rất hữu ích khi in ra cả thẻ for child in root:4 và thẻ for child in root:5 trong toàn bộ tài liệu. import xml.etree.ElementTree as ET 8Hai năm trong thập kỷ sai là những bộ phim từ những năm 2000. Tìm hiểu những bộ phim đó là gì, sử dụng biểu thức XPath. import xml.etree.ElementTree as ET 9Bạn phải thêm một thẻ thập kỷ mới, những năm 2000, vào thể loại hành động để di chuyển dữ liệu X-Men. Phương pháp for child in root:6 có thể được sử dụng để thêm thẻ này vào cuối XML. tree = ET.parse('movies.xml') 0Bây giờ hãy nối bộ phim X-Men vào những năm 2000 và loại bỏ nó khỏi những năm 1990, lần lượt sử dụng for child in root:7 và for child in root:8. tree = ET.parse('movies.xml') 1Xây dựng tài liệu XMLTốt, vì vậy về cơ bản bạn đã có thể chuyển toàn bộ một bộ phim sang một thập kỷ mới. Lưu các thay đổi của bạn trở lại XML. tree = ET.parse('movies.xml') 2Sự kết luậnElementTree là một thư viện Python quan trọng cho phép bạn phân tích và điều hướng một tài liệu XML. Sử dụng ElementTree phá vỡ tài liệu XML trong cấu trúc cây dễ hoạt động. Khi nghi ngờ, hãy in nó ra ( for child in root:9) - Sử dụng câu lệnh in hữu ích này để xem toàn bộ tài liệu XML cùng một lúc. Người giới thiệu
Làm thế nào để Python xử lý XML?Để đọc một tệp XML bằng ElementTree, trước tiên, chúng tôi nhập lớp ElementTree được tìm thấy bên trong thư viện XML, dưới tên ET (thông tin chung). Sau đó chuyển tên tệp của tệp XML cho ElementTree. Phương thức Parse (), để cho phép phân tích tệp XML của chúng tôi. Sau đó, nhận được gốc (thẻ cha) của tệp XML của chúng tôi bằng GetRoot ().
Xử lý XML trong Python là gì?XML là ngôn ngữ nguồn mở di động, cho phép các lập trình viên phát triển các ứng dụng có thể được đọc bởi các ứng dụng khác, bất kể hệ điều hành và/hoặc ngôn ngữ phát triển.a portable, open source language that allows programmers to develop applications that can be read by other applications, regardless of operating system and/or developmental language.
Dữ liệu XML được xử lý như thế nào?Bạn có thể phân tích các tài liệu XML từ một hệ thống gốc có nguồn gốc được bật cho định dạng dữ liệu XML.Bạn cũng có thể phân tích các tài liệu XML trong một trường trong bản ghi trình thu thập dữ liệu với bộ xử lý trình phân tích cú pháp XML.Bạn có thể sử dụng định dạng dữ liệu XML và trình phân tích cú pháp XML để xử lý các tài liệu XML được định dạng tốt.parse XML documents from an origin system with an origin enabled for the XML data format. You can also parse XML documents in a field in a Data Collector record with the XML Parser processor. You can use the XML data format and the XML Parser to process well-formed XML documents.
Làm thế nào bao gồm tệp XML trong Python?Tạo tài liệu XML bằng Python trước, chúng tôi nhập Minidom để sử dụng XML.Dom.Sau đó, chúng tôi tạo phần tử gốc và nối nó vào XML.Sau đó, tạo ra một sản phẩm con của cha mẹ là chuyên viên máy tính cho các chuyên viên máy tính.import minidom for using xml. dom . Then we create the root element and append it to the XML. After that creating a child product of parent namely Geeks for Geeks. |