APEX_DATA_PARSER : پکیج اوراکلی تبدیل فایل به داده



APEX_DATA_PARSER : پکیج اوراکلی تبدیل فایل به داده

APEX_DATA_PARSER: پکیج اوراکلی برای تبدیل داده فایل های CSV, JSON, XML و XLSX به داده هایی به صورت سطر و ستون در دیتابیس.

 

در این مقاله زمیوس در بخش دیتابیس اوراکل، پکیج APEX_DATA_PARSER یه شما اجازه می دهد که به راحتی داده فایل های CSV, JSON, XML و XLSX را به داده های دیتابیسی به صورت سطر و ستون در جدول تبدیل کنید. برای این کار شما در دیتابیس سرور بایستی از 19.1 APEX به بعد را نصب کرده باشید تا به پکیج دسترسی داشته باشید البته شما می توانید از پکیج بدون هیچ وابستگی به APEX استفاده کنید.

 

معرفی پکیج APEX_DATA_PARSER

با استفاده از پکیج APEX_DATA_PARSER  براحتی می توانید داده فایل های CSV, JSON, XML و XLSX را به داده های دیتابیسی به صورت سطر و ستون در جدول نمایش دهید این پکیج روی داده های فایل که به صورت tabular هستند کار می کند نه داده های پیچیده اما این پکیج تمامی داده های فایل را با هر ساختاری مشاهده و تبدیل می کند.

پکیج شامل تعدادی تابع می باشد. اما شما باید بیشتر از تابع جدول خطی PARSE استفاده می کنید که رکوردهایی از نوع WWV_FLOW_T_PARSER_ROW را برمی گرداند. ستون LINE_NUMBER ستون‌هایی با نام از COL001 تا COL300 وجود دارد، بنابراین حداکثر 300 ستون در فایل ها باید وجود داشته باشد.

 

نصب و راه اندازی

مثالی که در این مقاله استفاده می کنیم فایلی است که در دایرکتوری مستقیم در سرور دیتابیس قرار دارد. این فایل در دایرکتوری به نام TEMP_DIRقرار دارد و به صورت تصویر زیر یک دایرکتوری جدیدی به نام tmp ایجاد کرده  و دسترسی های لازم داده شود.

معرفی پکیج APEX_DATA_PARSERدر دایرکتوری tmp/ در سرور دیتابیس قرار دارد فایل های زیر قرار دارد.

ما با استفاده از مثال زیر و فانکشن داده های این فایل های را به صورت BLOB تبدیل می کنیم.

تبدیل داده به BLOBپس از اجرا فانکشن اطلاعات فایل ""emp.csv به شکل زیر می باشد.

داده های فایل emp.csv

پس از اجرا فانکشن اطلاعات فایل ""emp.json به شکل زیر می باشد.

داده های فایل emp.jsonپس از اجرا فانکشن اطلاعات فایل ""emp.xml به شکل زیر می باشد.

داده های فایل emp.xmlپس از اجرا فانکشن اطلاعات فایل ""emp.xslx به شکل زیر می باشد. لازم به ذکر است در فایل های اکسل فقط داده های شیت اول را می خواند.

داده های فایل emp.xlsx

نمایش داده های CSV

در ادامه با استفاده از تابع FILE_TO_BLOB داده های فایل "emp.csv" در به صورت BLOB تبدیل و نمایش داده و سپس با استفاده از تابع PARSE در پکیج APEX_DATA_PARSER می توانیم داده های BLOB را به صورت داده های سطر و ستون نمایش می دهیم و می توانیم آنرا در یک جدولی قرار دهیم. در این تایع محتوا را با استفاده از پارامتر P_CONTENT پاس می دهیم و نام فایل را از طریق پارامتر به نام P_FILE_NAME  مشخص می کنیم. نوع داده ای که باید بارگذاری شود را می توان از پسوند فایل در نظر گرفت که برای اینکار با استفاده از پارامترهای P_FILE_TYPE  و P_FILE_PROFILE می توان نوع داده های فایل را مشخص کرد.

نمایش داده های CSV

با توجه مثال بالا به صورت پیش فرض در تمامی فایل های CSV رکورد اول نام عناوین داده ها haders می باشد و برای نمایش می توان با استفاده از مشخص کردن پارامتر "P_ADD_HEADERS_ROW => 'N'" عنوان فایل CSV را نمایش نداد و در نظر نگیرد.

 

نمایش داده های JSON

در ادامه با استفاده از مثال زیر می خواهیم داده های فایل "emp.json" را نمایش دهیم که خیلی شبیه به ساختار مثال بالا و برای فایل "emp.csv" می باشد اما در این مثال ما می خواهیم با استفاده از پارامتری به نام P_ROW_SELECTOR دقیقا مشخص کنیم که چه دیتایی را نمایش دهیم و در این مثال می خواهیم داده "results.items" را نمایش دهیم و همچنین برای این که می خواهیم در این مثال عنوان داده ها headers را نمایش دهیم از پارامتر "P_ADD_HEADERS_ROW => 'Y'" استفاده کنیم.

نمایش داده های JSON

 

نمایش داده های XML

در ادامه با استفاده از مثال زیر می خواهیم داده های فایل "emp.xml" را نمایش دهیم که خیلی شبیه به ساختار مثال بالا و برای فایل "emp.csv" می باشد اما در این مثال ما می خواهیم با استفاده از پارامتری به نام P_ROW_SELECTOR دقیقا مشخص کنیم که ما در این مثال ما می خواهیم داده های تگ ""/RESULTS/ROW را نمایش دهیم  و همچنین برای این که می خواهیم در این مثال عنوان داده ها headers را نمایش دهیم از پارامتر "P_ADD_HEADERS_ROW => 'Y'" استفاده کنیم.

نمایش داده های XML

نمایش داده های XLSX

در ادامه با استفاده از مثال زیر می خواهیم داده های فایل "emp.xlsx" را نمایش دهیم که خیلی شبیه به ساختار مثال بالا و برای فایل "emp.csv" می باشد.

نمایش داده های XLSX

اگر فایل اکسل شما دارای چندین sheet باشد شما می توانید با استفاده از پارامتر P_XLSX_SHEET_NAME مشخص می کنید که می خواهید از کدام sheet استفاده کنید. در یک فایل اکسل با استفاده از تابع GET_XLSX_WORKSHEETS  می توانید اطلاعاتی در مورد تعداد sheet فایل های اکسل دریافت کنید.

نمایش داده های XLSX 2

با استفاده از پارامتر به نام SHEET_FILE_NAME  می توانید نام sheet فایل اکسل را مشخص کنید.

نمایش داده های XLSX 3

برای مطالعه بیشتر لینک های زیر را مشاهده کنید: 

جهت ثبت پیام باید در سایت عضو شوید و یا وارد سایت شده باشید .
ورود به حساب کاربری / ایجاد حساب کاربری
کار با Built-in Functions در پایتون (2)

کار با Built-in Functions در پایتون (2)

در این مقاله زمیوسی در بخش آموزش قصد داریم در مورد کار با Built-in Functions در پایتون صحبت کنیم. شما قبلاً با محبوب ترین تابع در پایتون یعنی ()print آشنا شدید.

Cheat Sheet در پایتون - مبانی پایتون (1)

Cheat Sheet در پایتون - مبانی پایتون (1)

پایتون 3 یک زبان برنامه نویسی واقعا همه کاره است که دوستش دارم هم برای توسط توسعه دهندگان وب web developers، دانشمندان داده data scientists و ...

10 وب سایت برای حل تمام سوالات مربوط به برنامه نویسی

10 وب سایت برای حل تمام سوالات مربوط به برنامه نویسی

در این مقاله زمیوسی، قصد داریم در مورد 10 سایت که برای حل تمام سوالات مربوط به برنامه نویسی شما صحبت کنیم. در هنگام یادگیری برنامه نویسی یا توسعه یک نرم افزار ....

APEX_ZIP : مدیریت فایل های Zip از PL/SQL

APEX_ZIP : مدیریت فایل های Zip از PL/SQL

در این قسمت از آموزش مقاله زمیوس در بخش دیتابیس قصد داریم مجدد با یکی از قابلیت های APEX آشنا شویم در این مقاله با استفاده از پکیج APEX_ZIP ...