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)
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
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}'
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}'
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!