Heim > Backend-Entwicklung > Python-Tutorial > Wie lese ich eine PDF-, PPTX- oder DOCX-Datei von ADLS gen2 in Python mit Synapse?

Wie lese ich eine PDF-, PPTX- oder DOCX-Datei von ADLS gen2 in Python mit Synapse?

WBOY
Freigeben: 2024-02-10 10:54:13
nach vorne
595 Leute haben es durchsucht

如何使用 Synapse 从 ADLS gen2 读取 python 中的 pdf 或 pptx 或 docx 文件?

Frageninhalt

Ich möchte Python im Synapse-Notizbuch verwenden, um Dateien in verschiedenen Formaten zu lesen. Dazu gehören .pdf, .pptx, .docx, .msg und .eml. Ich möchte in der Lage sein, Dateien zu lesen und sie dann mit Python zu analysieren und zu bearbeiten. Ich konnte dies in Datenblöcken mithilfe verschiedener Python-Bibliotheken tun.

So erledige ich diese Aufgabe in Datenbausteinen:

from pptx import Presentation
prs = Presentation(file_name)

# for pdf
from pypdf import PdfReader
reader = PdfReader(open(filename, 'rb'))

# word docs
import docx
doc = docx.Document(file_name)

# .eml files
import email
msg = email.message_from_file(open(file_name))type here

# .msg files
import extract_msg
msg = extract_msg.Message(file_name)
Nach dem Login kopieren

In Synapse erhalte ich die Fehlermeldung: FileNotFoundError: [Fehler Nr. 2] Keine solche Datei oder kein solches Verzeichnis.

Diese Dateipfade können CSV-, Excel- oder TXT-Daten mit Spark oder Pandas lesen, daher glaube ich nicht, dass ein Autorisierungs- oder Verbindungsproblem vorliegt. Das Format ist: abfs[s]://file_system_name@account_name.dfs.core.windows.net/file_path

Ich habe auch versucht, den Speicherort zu mounten. Dies hilft zwar beim Lesen von Textdateien, jedoch nicht beim Lesen anderer Formate. Mounten des Speicherorts in Synapse


Richtige Antwort


Mounten ist der richtige Weg, diese Antworterklärt es. Ich verwende Synapse Studio. Der Schlüssel besteht darin, das Dateiformat zu verwenden, das vom Pfadbefehl zum bereitgestellten Speicher erhalten wurde. Ansonsten kann ich grundsätzlich das verwenden, was ich zuvor in der Frage erwähnt habe. Nur für PDF musste ich von der Verwendung der pypdf-Bibliothek auf pypdf2 umsteigen.

Das gültige Format ist:

path = mssparkutils.fs.getmountpath("/mounted_name") 
# this gave me this format '/synfs/{jobid}/mounted_path/{filename}'
Nach dem Login kopieren

Das von mssparkutils fs erhaltene Format funktioniert nicht

mssparkutils.fs.ls("synfs:/{jobId}/mounted_path/") 
# this gave a different format which did not work   'synfs:/{jobId}/mounted_path/{filename}'
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lese ich eine PDF-, PPTX- oder DOCX-Datei von ADLS gen2 in Python mit Synapse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage