Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membaca fail pdf atau pptx atau docx dari ADLS gen2 dalam python menggunakan Synapse?

Bagaimana untuk membaca fail pdf atau pptx atau docx dari ADLS gen2 dalam python menggunakan Synapse?

WBOY
WBOYke hadapan
2024-02-10 10:54:13566semak imbas

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

Kandungan soalan

Saya mahu menggunakan python dalam buku nota sinaps untuk membaca fail dalam format yang berbeza. Ini termasuk .pdf, .pptx, .docx, .msg dan .eml. Saya mahu dapat membaca fail dan kemudian menghuraikan dan memanipulasinya dengan python. Saya dapat melakukan ini dalam blok data menggunakan perpustakaan python yang berbeza.

Beginilah cara saya menyelesaikan tugas ini dalam bata data:

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)

Dalam sinaps saya mendapat ralat: FileNotFoundError: [errno 2] Tiada fail atau direktori sedemikian.

Laluan fail ini boleh membaca data csv, excel atau txt menggunakan percikan atau panda, jadi saya rasa tidak ada masalah kebenaran atau sambungan. Formatnya ialah: abfs[s]://file_system_name@account_name.dfs.core.windows.net/file_path

Saya juga cuba memasang lokasi penyimpanan. Ini memang membantu membaca fail teks, tetapi bukan format lain. Memasang lokasi storan dalam sinaps


Jawapan yang betul


memasang adalah cara yang betul, jawapan ini menerangkannya. Saya menggunakan studio sinaps. Kuncinya ialah menggunakan format fail yang diperoleh daripada arahan laluan ke storan yang dipasang. Jika tidak, saya pada dasarnya boleh menggunakan apa yang saya nyatakan sebelum ini dalam soalan. Hanya untuk pdf saya terpaksa menukar daripada menggunakan perpustakaan pypdf kepada pypdf2.

Format yang sah ialah:

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

Format yang diperolehi daripada mssparkutils fs tidak berfungsi

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

Atas ialah kandungan terperinci Bagaimana untuk membaca fail pdf atau pptx atau docx dari ADLS gen2 dalam python menggunakan Synapse?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam