Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะอ่าน Microsoft Word ด้วย Python ได้อย่างไร


แนะนำตัว...

ไม่ผิด ฉันไม่ชอบ Microsoft word ทั้งสเปรดชีต การเป็นผู้เชี่ยวชาญด้าน Data Engineering ฉันมักจะได้รับผลการทดสอบจากผู้ทดสอบใน Microsoft word เฮ้อ! พวกเขาใส่ข้อมูลมากมายลงในเอกสารคำตั้งแต่จับภาพหน้าจอ ลิงก์ ใหญ่ ใหญ่มาก ย่อหน้าใหญ่มาก Microsoft word มีความสามารถพิเศษในการเปลี่ยนสิ่งที่ควรเป็นเอกสารข้อความธรรมดาหรือข้อมูลขนาดเล็กให้กลายเป็นอสูรขนาดใหญ่ ช้า และน่ารังเกียจ ซึ่งมักจะสูญเสียการจัดรูปแบบจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง

แต่ฉันต้องยอมรับความจริงที่ว่าสิ่งเลวร้ายสำหรับฉันนั้นดีสำหรับผู้อื่นและในทางกลับกัน

กลับไปที่บริบท Python รองรับคำได้ไม่ดีนัก ไลบรารี Python-docx ให้ผู้ใช้สามารถสร้างเอกสารและอ่านเฉพาะข้อมูลไฟล์พื้นฐาน เช่น ขนาดและชื่อไฟล์ ไม่ใช่เนื้อหาจริง ดังนั้น ในการประมวลผลผลการทดสอบจึงต้องมีโค้ดที่กำหนดเอง

ฉันจะนำเข้าเอกสารคำตัวอย่างที่มีอยู่ในอินเทอร์เน็ต ไฟล์อยู่ในตำแหน่ง - https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.docx

ทำอย่างไร...

1. เริ่มต้นด้วยการนำเข้า

from zipfile import ZipFile
from urllib.request import urlopen
from io import BytesIO

2. ตอนนี้ เราจะอ่านเอกสาร Word ระยะไกลเป็นวัตถุไฟล์ไบนารี จากนั้นเราแตกไฟล์โดยใช้ไลบรารี zipfile จากนั้นอ่านไฟล์ที่คลายซิป ซึ่งก็คือ XML

แน่นอนเราจะพิมพ์เนื้อหา

file_url = 'https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.docx'

# read the word document
wordDocx = urlopen(file_url).read()
wordDocx = BytesIO(wordDocx)
document = ZipFile(wordDocx)

#get the xml content
xml_content = document.read('word/document.xml')

# print the xml content
print(xml_content.decode('utf-8'))



Lorem ipsum 



Lorem ipsum dolor นั่ง อาเม็ท, คอนเซกเตตูร์ ดิปิสซิ่ง อิลิท. Nunc ac faucibus โอดิโอ. 



 Vestibulum neque massa, scelerisque sit amet ligula eu, congue molestie mi เปรียบเทียบกันคนละแบบ Nullam ที่ porttitor arcu, nec lacinia nisi. Ut ac dolor vitae odio interdum condimentum. Vivamus dapibus sodales ex, ประวัติ malesuada ipsum cursus convallis Maecenas sed egestas nulla, ac condimentum orci Mauris diam felis, vulputate ac suscipit et, iaculis non est Curabitur semper arcu ac ligula semper, nec luctus nisl blandit. จำนวนเต็ม lacinia ante ac libero lobortis imperdiet Nullam mollis convallis ipsum, ac accumsan nunc vehicula ประวัติ Nulla eget justo ใน felis tristique fringilla. Morbi นั่ง amet tortor quis risus auctor condimentum. Morbi ใน ullamcorper elit Nulla iaculis tellus sit amet mauris tempus fringilla.

   Maecenas mauris lectus, lobortis et purus mattis, blandit dictum tellus.

 ไม่ใช่ lorem quis tellus placerat varius 

ค่า Nulla facilisi. 

Aenean congue fringilla justo ut aliquam 

Mauris id เดิม Nunc vulputate neque vitae justo facilisis, non condimentum ante sagittis. 

Morbi viverra semper lorem nec molestie. 

Maecenas tincidunt est efficitur ligula euismod, sit amet ornare est vulputate.

 

 

 



  



 

 

  

 ไม่ใช่ mauris justo Duis vehicula mi vel mi pretium, ประสิทธิผลของ viverra erat Cras aliquam est ac eros varius, id iaculis dui ผู้ประมูล Duis pretium neque ligula และ pulvinar mi placerat et. Nulla nec nunc นั่ง amet nunc posuere vestibulum. Ut id neque eget tortor แมตทิส ทริสติก Donec ante est, blandit นั่ง amet tristique vel, lacinia pulvinar arcu Pellentesque scelerisque fermentum erat, id posuere justo pulvinar ut. แบคทีเรีย Cras id eros sed enim aliquam lobortis. Sed lobortis nisl ut eros ประสิทธิผล tincidunt. Cras justo mi, porttitor quis mattis vel, ultricies ut purus. และสิ่งอำนวยความสะดวก et lacus eu cursus

  ในประวัติส่วนตัว libero sollicitudin euismod Fusce vitae vestibulum velit. Pellentesque vulputate lectus quis pellentesque commodo. Aliquam erat volutpat. Vestibulum ใน egestas velit Pellentesque fermentum nisl vitae fringilla venenatis. Etiam id mauris vitae orci maximus ultricies. 



 C ras fringilla ipsum magna ใน fringilla dui commodo a.

 
 
 

 Lorem ipsum
 
Lorem ipsum

Lorem ipsum

1