File Utilities Library — اردو/فائلیں
The اردو/فائلیں library provides Urdu-named classes and functions for working with ZIP archives and Excel workbooks.
اردو:
اردو/فائلیںلائبریری زپ (ZIP) آرکائیو اور ایکسل (Excel) ورک بک کے ساتھ کام کرنے کے لیے اردو نام کے کلاس اور فنکشن فراہم کرتی ہے۔
Import:
Table of Contents — فہرست مضامین
- ZIP Files — زپ
- زپ_فائل class
- Standalone ZIP functions
- Excel — ایکسل
- ایکسل_ورق — Worksheet
- ایکسل_کتاب — Workbook
- Standalone Excel functions
- Examples
ZIP Files — زپ
اردو: زپ فائل (ZIP file) ایک سکڑی ہوئی آرکائیو فائل ہے جس میں متعدد فائلیں محفوظ کی جا سکتی ہیں۔
زپ_فائل class
The زپ_فائل class wraps Python's zipfile.ZipFile. Open an archive for reading, writing, or appending.
اردو:
زپ_فائلکلاس سے آرکائیو پڑھنے، لکھنے یا اضافہ کرنے کے لیے کھولیں۔
Mode strings:
| Mode | Description |
|---|---|
"r" |
Open existing archive for reading |
"w" |
Create new archive (overwrites if exists) |
"a" |
Append to existing archive |
Methods — طریقے
| Method | Returns | Description |
|---|---|---|
.فہرست() |
list[str] | Names of all files inside the ZIP |
.معلومات(نام) |
object | Info about one file: {نام, اصل_سائز, سکڑا_سائز, تاریخ} |
.پڑھو(نام) |
bytes | Read file as raw bytes |
.متن_پڑھو(نام, انکوڈنگ="utf-8") |
string | Read file as a text string |
.نکالو(نام, منزل=".") |
string | Extract one file; returns extraction path |
.سب_نکالو(منزل=".") |
list[str] | Extract all files; returns list of paths |
.شامل(فائل_راستہ, zip_نام=null) |
— | Add a file from disk (optional in-ZIP name) |
.متن_شامل(zip_نام, مواد) |
— | Add a string as a file inside the ZIP |
.بائٹس_شامل(zip_نام, مواد) |
— | Add raw bytes as a file inside the ZIP |
.بند() |
— | Close the archive |
Standalone ZIP functions — اکیلے زپ فنکشن
| Function | Returns | Description |
|---|---|---|
زپ_بناؤ(zip_راستہ, فائلیں) |
string | Create a ZIP; فائلیں is [[src, dst], ...] |
زپ_نکالو(zip_راستہ, منزل=".") |
list[str] | Extract entire ZIP; returns extracted paths |
زپ_فہرست(zip_راستہ) |
list[str] | List file names without extracting |
Excel — ایکسل
Backed by openpyxl. Supports .xlsx files only.
اردو: ایکسل (Excel) ورک بک صرف
.xlsxفارمیٹ کو سپورٹ کرتی ہے۔ اس کا انجنopenpyxlہے۔
ایکسل_ورق — Worksheet
Obtained from a ایکسل_کتاب via .ورق() or .ورق_بنائیں().
اردو: ورق (worksheet) ایک ایکسل شیٹ ہے۔ اسے
ایکسل_کتابسے.ورق()یا.ورق_بنائیں()سے حاصل کریں۔
Properties:
| Property | Type | Description |
|---|---|---|
.نام |
string | Sheet name |
.صف_تعداد |
int | Number of rows with data |
.کالم_تعداد |
int | Number of columns with data |
Methods (all 1-indexed):
| Method | Returns | Description |
|---|---|---|
.خانہ(صف, کالم) |
any | Read cell value at row, col |
.خانہ_مقرر(صف, کالم, قدر) |
— | Write value to cell |
.قطار_پڑھو(صف) |
list | All values in a row |
.کالم_پڑھو(کالم) |
list | All values in a column |
.سب_ڈیٹا() |
list[list] | All rows as a 2D list |
.قطار_شامل(قدریں) |
— | Append a new row at the bottom |
ایکسل_کتاب — Workbook
اردو:
ایکسل_کتابپوری ایکسل فائل کی نمائندگی کرتی ہے۔ نئی ورک بک بنائیں یا موجودہ فائل کھولیں۔
متغیر wb = نیا ایکسل_کتاب() // نئی ورک بک
متغیر wb = نیا ایکسل_کتاب("موجودہ.xlsx") // موجودہ فائل کھولیں
| Method | Returns | Description |
|---|---|---|
.ورق() |
ایکسل_ورق | Active (first) worksheet |
.ورق_بنائیں(نام) |
ایکسل_ورق | Create and activate a new sheet |
.ورق_فہرست() |
list[str] | All sheet names |
.ورق_حذف(نام) |
— | Delete a sheet by name |
.محفوظ(راستہ) |
— | Save workbook to a file path |
.بند() |
— | Close the workbook |
Standalone Excel functions — اکیلے ایکسل فنکشن
| Function | Returns | Description |
|---|---|---|
ایکسل_لکھو(ڈیٹا_2D, راستہ, sheet_name="Sheet") |
string | Write 2D list to new Excel file; returns path |
ایکسل_پڑھو(راستہ, sheet_name=null) |
list[list] | Read Excel sheet into 2D list (null = active sheet) |
Examples — مثالیں
Example 1 — Create a ZIP archive
اردو: مثال ۱ — زپ آرکائیو بنانا
درآمد { زپ_فائل, زپ_بناؤ } سے "اردو/فائلیں"
// ═══════════════════════════════════════
// طریقہ 1: زپ_فائل کلاس سے
// ═══════════════════════════════════════
متغیر z = نیا زپ_فائل("پروجیکٹ.zip", "w")
// فائلیں شامل کریں
z.شامل("main.urdu")
z.شامل("config.json")
z.شامل("README.md")
// متن بطور فائل شامل کریں
z.متن_شامل("نوٹ.txt", "یہ ZIP میں خودکار بنائی گئی فائل ہے۔")
// بائٹس شامل کریں
z.بائٹس_شامل("ڈیٹا.bin", [0x89, 0x50, 0x4E, 0x47])
z.بند()
لکھو("ZIP بنائی گئی: پروجیکٹ.zip")
// ═══════════════════════════════════════
// طریقہ 2: زپ_بناؤ فنکشن
// ═══════════════════════════════════════
زپ_بناؤ("بیک_اپ.zip", [
["main.urdu", "کوڈ/main.urdu"],
["config.json", "ترتیبات/config.json"],
["docs/guide.md", "دستاویز/guide.md"]
])
لکھو("بیک اپ ZIP تیار")
Example 2 — Read and extract a ZIP
اردو: مثال ۲ — زپ فائل پڑھنا اور نکالنا
درآمد { زپ_فائل, زپ_نکالو, زپ_فہرست } سے "اردو/فائلیں"
// فہرست دیکھیں (کھولے بغیر)
متغیر نام_فہرست = زپ_فہرست("پروجیکٹ.zip")
لکھو("ZIP میں فائلیں:")
کے_لیے (متغیر نام کا نام_فہرست) {
لکھو(" -", نام);
}
// تفصیلی معلومات
متغیر z = نیا زپ_فائل("پروجیکٹ.zip", "r")
کے_لیے (متغیر نام کا z.فہرست()) {
متغیر معلومات = z.معلومات(نام)
لکھو(` ${معلومات.نام}: ${معلومات.اصل_سائز} بائٹ → ${معلومات.سکڑا_سائز} بائٹ`)
}
// ایک فائل پڑھیں
متغیر مواد = z.متن_پڑھو("نوٹ.txt")
لکھو("\nنوٹ.txt مواد:", مواد)
// ایک فائل نکالیں
z.نکالو("main.urdu", "نکالی_فائلیں/")
z.بند()
// تمام نکالیں
متغیر نکالی_گئیں = زپ_نکالو("پروجیکٹ.zip", "نکالا_مواد/")
لکھو("\nنکالی گئی فائلیں:")
کے_لیے (متغیر راستہ کا نکالی_گئیں) {
لکھو(" ✓", راستہ);
}
Example 3 — Append to existing ZIP
اردو: مثال ۳ — موجودہ زپ میں فائلیں شامل کرنا
درآمد { زپ_فائل } سے "اردو/فائلیں"
// موجودہ ZIP میں فائلیں شامل کریں
متغیر z = نیا زپ_فائل("پروجیکٹ.zip", "a")
z.شامل("نئی_فائل.urdu")
z.متن_شامل("CHANGELOG.txt", "v2.0 — نئی خصوصیات شامل کی گئیں")
لکھو("ZIP اپڈیٹ سے پہلے:", z.فہرست().length, "فائلیں")
z.بند()
// تصدیق کریں
متغیر z2 = نیا زپ_فائل("پروجیکٹ.zip", "r")
لکھو("ZIP اپڈیٹ کے بعد:", z2.فہرست().length, "فائلیں")
z2.بند()
Example 4 — Create Excel with data
اردو: مثال ۴ — ڈیٹا کے ساتھ ایکسل فائل بنانا
درآمد { ایکسل_کتاب, ایکسل_لکھو } سے "اردو/فائلیں"
// ═══════════════════════════════════════
// طریقہ 1: ایکسل_لکھو (آسان)
// ═══════════════════════════════════════
متغیر ڈیٹا = [
["نام", "عمر", "شہر", "تنخواہ"],
["احمد", 25, "کراچی", 50000],
["فاطمہ", 30, "لاہور", 65000],
["علی", 22, "اسلام آباد", 45000],
["زینب", 28, "پشاور", 55000]
]
متغیر راستہ = ایکسل_لکھو(ڈیٹا, "ملازمین.xlsx", sheet_name="ملازمین")
لکھو("محفوظ:", راستہ)
// ═══════════════════════════════════════
// طریقہ 2: ایکسل_کتاب کلاس (مکمل کنٹرول)
// ═══════════════════════════════════════
متغیر wb = نیا ایکسل_کتاب()
متغیر ws = wb.ورق()
// ہیڈر
ws.خانہ_مقرر(1, 1, "مصنوع")
ws.خانہ_مقرر(1, 2, "مقدار")
ws.خانہ_مقرر(1, 3, "قیمت")
ws.خانہ_مقرر(1, 4, "کل")
// ڈیٹا قطاریں
متغیر فروخت = [
["پنسل", 100, 10],
["کاپی", 50, 25],
["قلم", 200, 15],
["رابر", 150, 5]
]
متغیر صف_نمبر = 2
کے_لیے (متغیر مصنوع کا فروخت) {
ws.خانہ_مقرر(صف_نمبر, 1, مصنوع[0])
ws.خانہ_مقرر(صف_نمبر, 2, مصنوع[1])
ws.خانہ_مقرر(صف_نمبر, 3, مصنوع[2])
ws.خانہ_مقرر(صف_نمبر, 4, مصنوع[1] * مصنوع[2]) // مقدار × قیمت
صف_نمبر += 1
}
// قطار شامل کریں
ws.قطار_شامل(["کل", "", "", ws.کالم_پڑھو(4).slice(1).reduce((a,b)=>a+b, 0)])
wb.محفوظ("فروخت_رپورٹ.xlsx")
wb.بند()
لکھو("فروخت رپورٹ محفوظ ہو گئی")
Example 5 — Read Excel data
اردو: مثال ۵ — ایکسل فائل سے ڈیٹا پڑھنا
درآمد { ایکسل_کتاب, ایکسل_پڑھو } سے "اردو/فائلیں"
// ═══════════════════════════════════════
// طریقہ 1: ایکسل_پڑھو (آسان)
// ═══════════════════════════════════════
متغیر ڈیٹا = ایکسل_پڑھو("ملازمین.xlsx")
لکھو("کل قطاریں:", ڈیٹا.length)
متغیر ہیڈرز = ڈیٹا[0]
لکھو("کالمز:", ہیڈرز)
کے_لیے (متغیر i کا حد(1, ڈیٹا.length)) {
متغیر قطار = ڈیٹا[i]
لکھو(` ${قطار[0]}: عمر ${قطار[1]}, ${قطار[2]}`)
}
// ═══════════════════════════════════════
// طریقہ 2: ایکسل_کتاب (خانہ بہ خانہ)
// ═══════════════════════════════════════
متغیر wb = نیا ایکسل_کتاب("فروخت_رپورٹ.xlsx")
متغیر ws = wb.ورق()
لکھو(`\nشیٹ: ${ws.نام}`)
لکھو(`صفیں: ${ws.صف_تعداد}, کالم: ${ws.کالم_تعداد}`)
// پہلی قطار (ہیڈر)
متغیر ہیڈر_قطار = ws.قطار_پڑھو(1)
لکھو("ہیڈر:", ہیڈر_قطار)
// چوتھا کالم (کل)
متغیر کل_کالم = ws.کالم_پڑھو(4)
لکھو("کل کالم:", کل_کالم)
// مخصوص خانہ
متغیر قیمت = ws.خانہ(3, 3)
لکھو("قطار 3، کالم 3:", قیمت)
wb.بند()
Example 6 — Multiple Excel sheets
اردو: مثال ۶ — متعدد ورق (worksheets) والی ایکسل فائل
درآمد { ایکسل_کتاب } سے "اردو/فائلیں"
// ═══════════════════════════════════════
// ماہانہ رپورٹ — تین شیٹس
// ═══════════════════════════════════════
متغیر wb = نیا ایکسل_کتاب()
متغیر مہینے = [
{ نام: "جنوری", ڈیٹا: [["مصنوع", "فروخت"], ["چائے", 5000], ["قہوہ", 3000]] },
{ نام: "فروری", ڈیٹا: [["مصنوع", "فروخت"], ["چائے", 6200], ["قہوہ", 2800]] },
{ نام: "مارچ", ڈیٹا: [["مصنوع", "فروخت"], ["چائے", 7100], ["قہوہ", 3500]] }
]
کے_لیے (متغیر مہینہ کا مہینے) {
متغیر ws = wb.ورق_بنائیں(مہینہ.نام)
کے_لیے (متغیر قطار کا مہینہ.ڈیٹا) {
ws.قطار_شامل(قطار)
}
}
// پہلی (خودکار بنائی گئی) خالی شیٹ حذف کریں
اگر (wb.ورق_فہرست().includes("Sheet")) {
wb.ورق_حذف("Sheet")
}
لکھو("شیٹس:", wb.ورق_فہرست())
wb.محفوظ("سہ_ماہی_رپورٹ.xlsx")
wb.بند()
لکھو("سہ ماہی رپورٹ محفوظ ہو گئی")
// شیٹس پڑھیں
متغیر wb2 = نیا ایکسل_کتاب("سہ_ماہی_رپورٹ.xlsx")
لکھو("\nتمام شیٹس:")
کے_لیے (متغیر شیٹ_نام کا wb2.ورق_فہرست()) {
متغیر ws = ایکسل_پڑھو("سہ_ماہی_رپورٹ.xlsx", sheet_name=شیٹ_نام)
لکھو(` ${شیٹ_نام}: ${ws.length - 1} مصنوعات`)
}
wb2.بند()
Example 7 — ZIP + Excel together (backup workflow)
اردو: مثال ۷ — زپ اور ایکسل ملا کر بیک اپ کا نظام
درآمد { ایکسل_لکھو, ایکسل_پڑھو } سے "اردو/فائلیں"
درآمد { زپ_بناؤ, زپ_نکالو } سے "اردو/فائلیں"
// ─── 1: Excel فائل بنائیں ─────────────────────
ایکسل_لکھو([
["نام", "نمبر", "گریڈ"],
["احمد", 85, "B"],
["فاطمہ", 92, "A"],
["علی", 78, "C"]
], "نتائج.xlsx")
// ─── 2: ZIP میں بند کریں ──────────────────────
زپ_بناؤ("نتائج_بیک_اپ.zip", [
["نتائج.xlsx", "نتائج/نتائج.xlsx"],
["README.md", "نتائج/README.md"]
])
لکھو("بیک اپ بنایا")
// ─── 3: بحال کریں ─────────────────────────────
متغیر نکالی_گئیں = زپ_نکالو("نتائج_بیک_اپ.zip", "بحالی/")
لکھو("بحال:", نکالی_گئیں)
// ─── 4: بحال شدہ ڈیٹا پڑھیں ─────────────────
متغیر ڈیٹا = ایکسل_پڑھو("بحالی/نتائج/نتائج.xlsx")
لکھو("\nبحال شدہ ڈیٹا:")
کے_لیے (متغیر قطار کا ڈیٹا) {
لکھو(" ", قطار)
}
Previous: Web Scraper → | Next: Cryptography →