<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات زندگی با داده ها</title>
        <link>https://virgool.io/LivingWithData/feed</link>
        <description>داده ها بخش بزرگی از زندگی روزمره ما را تشکیل می دهند و بیشتر تصمیمات ما براساس داده ها شکل می گیرند.  اینجا می خواهیم با داده ها نزدیک تر زندگی کنیم!</description>
        <language>fa</language>
        <pubDate>2026-06-07 09:26:46</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/j6rjtkpfthft/2eqf04.png</url>
            <title>زندگی با داده ها</title>
            <link>https://virgool.io/LivingWithData</link>
        </image>

                    <item>
                <title>انتقال اطلاعات اکسل های مختلف به SQL Server با پایتون</title>
                <link>https://virgool.io/LivingWithData/%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%DA%A9%D8%B3%D9%84-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D8%AA%D9%84%D9%81-%D8%A8%D9%87-sql-server-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-ekor5suiybqd</link>
                <description>در یکی از شرکت هایی که برای آنها داشبورد مدیریتی می ساختم، با صورت مسئله جالبی روبرو شدم. این شرکت اصرار دارد که برای داشبوردهای خود (که با ابزار Microsoft Power BI) ساخته شده اند حتما از یک بانک اطلاعات جامع (Data warehouse) استفاده نماید. جدیدا گزارشی به صورت ماهانه با تعداد ردیف بالا و در قالب اکسل تهیه می کنند که باید به این دیتا منتقل می شد. وقتی می خواتم اینکار را با استفاده از Microsoft Integration service انجام دهم با مشکلی روبرو شدم. من باید اکسل ها را به صورت مشخص با نام به این ابزار به عنوان منبع جهت انتقال داده معرفی می کردم و از آنجایی که اکسل ها ماهانه ایجاد می شدند، مجبور می شدم هر ماه یک اکسل جدید را معرفی نمایم.از آنجایی که قطعا حوصله اینکار را نداشتم!! راه حل را در استفاده از چند خط کد پایتون پیدا کردم! بیایید با هم این کد را مرور کنیم.ز آنجایی که قطعا حوصله اینکار را نداشتم!! راه حل را در استفاده از چند خط کد پایتون پیدا کردم! بیایید با هم این کد را مرور کنیمimport pandas as pdimport globخب ابتدا ماژول های مورد نیاز را وارد می کنیم. ما برای وارد کردن اکسل ها به پایتون از Pandas و برای پیدا کردن فایل ها در سیستم عامل  از ماژول glob استفاده می کنیم.path = r&#039;F:\Report&#039;filenames = glob.glob(path + &amp;quot\*.xlsx&amp;quot)print(&#039;File names:&#039;, filenames)finalexcelsheet = pd.DataFrame()خب ابتدا مسیر را معرفی کرده و سپس تمامی فایل با پسوند xlsx را در آن پوشه می خوانیم.for file in filenames:     df = pd.concat(pd.read_excel(     file, sheet_name=None), ignore_index=True, sort=False)     finalexcelsheet = finalexcelsheet.append(df, ignore_index=True)از آنجایی که محتوای همه اکسل ها مشابه است، من با دستور بالا آنها را به یک فایل اکسل تبدیل می کنم.print(&#x27;Final Sheet:&#x27;)display(finalexcelsheet)خب حالا می توانیم نگاهی به نتیجه کار بیندازیم.  کدهای لازم برای انتقال این اطلاعات به sql server به شکل زیر می باشد. لازم به توضیح است که PreProcessing لازم و تا حد زیادی حیاتی است. لذا پیش از انتقال اطلاعات اینکار را انجام دهید (از جمله fillna)import pyodbcconn = pyodbc.connect(&#039;Driver={SQL Server};&#039;             &#039;Server=ServerName;&#039;             &#039;Database=DataBaseName;&#039;             &#039;Trusted_Connection=yes;&#039;             &#039;UID=sa;&#039;             &#039;PWD=sa;&#039;)cursor = conn.cursor()cursor.fast_executemany = Trueدر بالا با دیتابیس SQL مرتبط شدیم. حالا نیاز است کوئری insert  را بنویسیم و از cursor بخواهیم آن را اجرا کند. توجه کنید تعداد ستون های نوشته شده جلوی نام جدول در دستور Insert با تعداد علامت های وال در VALUES و تعداد مقادیر در data باید یکی باشد.همچنین در پایان Cursor و ارتباط را می بندیم.query = &#039;&#039;&#039;INSERT INTO TableName ([A],[B],[C])VALUES (?,?,?)&#039;&#039;&#039;data = [(row.X, row.Y, row.Z,) for row in finalexcelsheet.itertuples()]
cursor.executemany(query, data)cursor.commit()cursor.close()conn.close()خب دیتای ما به دیتابیس منتقل شد!فایل تکمیل تر را می توانید در گیت هاب من مشاهده نمایید.</description>
                <category>زندگی با داده ها</category>
                <author>یاشار</author>
                <pubDate>Wed, 18 Jan 2023 18:02:46 +0330</pubDate>
            </item>
                    <item>
                <title>الگوریتم آپریوری (apriori) چیست؟ به همراه پیاده سازی با پایتون</title>
                <link>https://virgool.io/LivingWithData/%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D9%85-%D8%A2%D9%BE%D8%B1%DB%8C%D9%88%D8%B1%DB%8C-apriori-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-m8kakbbnvmgx</link>
                <description>اول اجازه بدید نگاهی به تعریف ارائه شده در ویکیپدیا بندازیم:یک الگوریتم برای استخراج مکرر مجموعه‌های مورد و یادگیری قوانین مرتبط با پایگاه‌های داده رابطه‌ای است. با شناسایی موارد فردی مکرر در پایگاه داده و گسترش آنها به مجموعه اقلام بزرگتر و بزرگتر تا زمانی که آن مجموعه موارد به طور کافی در پایگاه داده ظاهر شود، ادامه می‌یابد. مجموعه‌های مکرر موارد تعیین شده توسط ایپرایوری می‌تواند برای تعیین قوانین ارتباطی که روندهای کلی در پایگاه داده را برجسته می‌کند، مورد استفاده قرار گیرد: این الگوریتم در حوزه‌هایی مانند تجزیه و تحلیل سبد بازار کاربرد دارد.در واقع طبق تعریف فوق الگوریم سعی می کنه موارد پر تکرار رو در سبد خرید مشتریان شناسایی و براساس روابط اونها، بتونه به مشتری پیشنهاد بده که اگر مثلا فلان محصول رو برداشت، چه محصول دیگه ای رو می تونه برداره.تو این پست ابتدا یکی از روش های پیاده سازی این الگوریتم در پایتون رو با هم بررسی می کنیم. در ادامه درباره مزایا و معایب این الگوریتم هم صحبت می کنیم.خب بریم سراغ پیاده سازی:من از دیتای یکی از سوالات سایت کوئرا استفاده کردم. در این دیتا فرض شده که مجموعه خریدهای یک مشتری در هر روز یک سبد خرید هست. بنابراین من مشتری و تاریخ رو در یک ستون جدید تحت عنوان sabad به Dataframe اضافه کردم:import pandas as pdimport numpy as npfrom mlxtend.frequent_patterns import apriori, association_rulesdata = pd.read_csv(&#039;supermarket.csv&#039;)data[&#039;Sabad&#039;]=data[&#039;Customer Id&#039;]+data[&#039;Date&#039;]حالا به یک ستون عددی نیاز داریم تا تعداد هر کالا در هر سبد رو نشون بده. از اونجایی که الگوریم آپریوری برای محاسبه ابتدا دیتا رو ترانسپوز می کنه (یعنی محصولات رو به عنوان ستون در نظر می گیره) برای جدولش نیاز به مقدار عددی داره.data2 = data.groupby([&#039;Sabad&#039;,&#039;Product&#039;]).size()data2 = pd.DataFrame(data2).reset_index()data2.columns = [&#039;Sabad&#039;,&#039;Product&#039;,&#039;Count&#039;]خب حالا می تونیم جدول ترانسپوزه رو ایجاد کنیمTdata = (data2.groupby([&#039;Sabad&#039;, &#039;Product&#039;])[&#039;Count&#039;].sum().unstack().reset_index().fillna(0).set_index(&#039;Sabad&#039;))نتیجه شبیه عکس زیر میشه: برای مرحله بعد نیازه دیتای شما one hot encode بشه. One hot encode به معنی تبدیل اون بخش از اطلاعات به اعدادی بین 0 و 1 هستش. در این مورد خاص الگوریم می خواد بودن یا نبودن کالا رو متوجه بشه و کاری به ارزش نداره. بنابراین یک تابع تعریف می کنه فقط مقادیر 0 و 1 رو در جدول بالا جایگزین کنهdef hot_encode(x):     if(x&lt;= 0):          return 0     if(x&gt;= 1):          return 1Tdata_encoded = Tdata.applymap(hot_encode)خب حالا فقط مونده پیاده سازی الگوریتم:frq_items = apriori(Tdata_encoded, min_support = 0.01, use_colnames = True).sort_values(&#039;support&#039;, ascending = False)این دو خط به شما مقدار support هر محصول رو میده. یه جورایی میشه محصولی که بیشترین حضور رو در سبدهای خرید داشته، یا همون پرطرفدارترین ها. در خط بالا مقدار min_support به شما اجازه میده که حداقل مقدار اهمیت محصول رو مشخص کنید.حالا روی این لیست دستورات زیر رو اجرامی کنیم تا به ما بگه که کدام محصول رو می تونیم با کدوم محصول یا گروه محصول ها پیشنهاد بدیم:rules = association_rules(frq_items, metric =&amp;quotlift&amp;quot, min_threshold = 0.001)rules = rules.sort_values([&#039;confidence&#039;], ascending =[False])print(rules)خروجی های اصلی کد بالا به شرح زیر هستن:confidence:به معنی میزان ارتباط بین سبد معرفی شده و کالای پیشنهادی که هر چه به یک نزدیک تر باشد، نشان دهنده رابطه قوی تری است. اما این عدد فقط در رابطه یک طرفه صدق می کند و برای رابطه برعکس معنی دار نیست.leverage:تفاوت فرکانس سبد و کالای پیشنهادی زمانی که کالای اصلی و پیشنهادی با هم باشند، نسبت به زمانی که مستق باشند.min_threshold:تابع به شما امکان می دهد متریک مورد علاقه و آستانه مطابق با آن را مشخص کنید. اینجا ما از متریک lift استفاده کردیم.lift:برای نشان تعداد دفعات یک ارتباط به کار می رود.پینوشت:برای مطالعه بیشتر روی کتابخانه mlxtend.frequent_patterns به این لینک مراجعه کنید.کد بالا در گیت هاب من منتشر شده .</description>
                <category>زندگی با داده ها</category>
                <author>یاشار</author>
                <pubDate>Sat, 19 Feb 2022 18:19:25 +0330</pubDate>
            </item>
                    <item>
                <title>محاسبه میانگین متحرک (moving average) در python</title>
                <link>https://virgool.io/LivingWithData/%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D9%85%DB%8C%D8%A7%D9%86%DA%AF%DB%8C%D9%86-%D9%85%D8%AA%D8%AD%D8%B1%DA%A9-moving-average-%D8%AF%D8%B1-python-whs6fnwoq8rm</link>
                <description>یکی از ابزارهای پایتون برای آنالیز داده، پانداس (pandas) هست که اتفاقا ابزار بسیار قدرتمندی هست. امروز داشتم با این ابزار کار می کردم و تابع هاش رو مرور می کردم که بر خوردم به تابع rolling. تابع قدرتمندی که ردی ستون مورد نظر شما حرکت می کنه و تابعی رو روی هر تعداد از داده های اون بخش اجرا می کنه. اگر می خواید بدونید کدوم توابع، نگاهی به لینک زیر بندازین: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rolling.html  https://virgool.io/d/whs6fnwoq8rm/pandas.DataFrame.rolling%E2%80%94pandas1.3.5documentation(pydata.org) import pandas as pddata = pd.read_csv(&#039;bourse.csv&#039;)دیتا نمونه شامل شاخص بورس از سال 1390 هستش. یه خرده بازی با تاریخ:data[&#039;year&#039;] = data[&#039;Date_shamsi&#039;].str[:4]data[&#039;month&#039;] = data[&#039;Date_shamsi&#039;].str[5:7]data[&#039;day&#039;] = data[&#039;Date_shamsi&#039;].str[8:10]حالا تابع بریم سراغ میانگین متحرک:rc = 4nvda[&#039;movingsum&#039;] = data[&#039;close&#039;].rolling(rc).sum()data[&#039;movingaverage&#039;] = data[&#039;movingsum&#039;]/rcdata.head(10)خب، تو خط اول یک متغیر رو برابر چهار قرار دادیم. می خوایم برای هر چهار مقدار در ستون مورد نظرمون، میانکین متحرک رو حساب کنیم. خط دوم جمع هر چهار عدد رو مقابل چهارمین عدد میزاره. حالا کافیه این جمع رو بر مقدار متغیرمون تقسیم کنیم. حتی می تونیم متغیر رو از کاربر ورودی بگیریم و براساس اون محاسبه کنیم.می تونید کامل شده کد رو به همراه نمودار در گیت هاب من مشاهده کنید:  https://github.com/iyashar/MovingAverage </description>
                <category>زندگی با داده ها</category>
                <author>یاشار</author>
                <pubDate>Sat, 22 Jan 2022 09:52:05 +0330</pubDate>
            </item>
                    <item>
                <title>خواندن اطلاعات از اکسل با پایتون</title>
                <link>https://virgool.io/LivingWithData/%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B2-%D8%A7%DA%A9%D8%B3%D9%84-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-qbgtgodd2fss</link>
                <description>در پست قبلی درباه نحوه ویرایش فایل اکسل و نوشتن در آن با استفاده از زبان پایتون صحبت کردیم. در این پست می خواهیم داده های نوشته شده را در پایتون بخوانیم. در این مطلب ما از ماژول XLRD استفاده می کنیم که به ما کمک می کند اطلاعات اکسل را با انتخاب دقیق سطر و ستون بخوانیم.ابتدا باید این ماژول را نصب نماییمpip install xlrdاین ماژول با نسخه فعلی اکسل (من نسخه 2016 و 2019 رو تست کردم) کار می کند. برای اینکه پایتون فایل شما رو ببیند باید مسیر فایل را معرفی کنید. سپس از پایتون بخواهیم که فایل را برای ما باز کندimport xlrd
loc = (&amp;quotc:\\temp\\welcome.xlsx&amp;quot)
wb = xlrd.open_workbook(loc)حالا باید برگه ای (Sheet) که می خواهید را انتخاب کنید. برای اینکار می توانید از دستور wb.sheet_by_index(0) استفاده کنید. شماره داخل پرانتز نمایانگر شمارش برگه های اکسل است. یا در صورت نیاز می توانید از دستور wb.sheet_by_name(sheet name) استفاده کنید.sheet = wb.sheet_by_index(0)
## OR
wb.sheet_by_name(Sheet1)حالا برای امتحان می توانیم دستور زیر را اجرا کنیم:print(sheet.cell_value(0,0))این دستور مقدار ثبت شده در اولین سطر و اولین ستون را نمایش می دهد. در اکسل نمونه ما این مقدار &quot;Name&quot; است.حال می خواهیم بدانیم برگه ما چند سطر و ستون دارد. برای اینکار می توانید از دستورات زیر استفاده نمایید:print(sheet.nrows)
print(sheet.ncols)از خروجی این دستورات می توانید برای عملیات های مختلف استفاده نمایید. به عنوان نمونه می خواهیم مقدار وارد شده در سطر اول را مشاهده نماییم:for i in range(sheet.ncols):     print(sheet.cell_value(0, i))مقادیر داخل پرانتز به ترتیب به شماره سطر و ستون اشاره می کنند. لذا خروجی مقادیر سطر اول و ستون های موجود به تعدادی که پایتون در قسمت عبارت شرط شمرده می باشد.همین کار را می توانیم برای مقادیر یک ستون نیز انجام دهیم.for i in range(sheet.nrows):
     print(sheet.cell_value(i, 0))یا همه سطر ها و ستون ها را در یک نگاه ببینیم:for i in range(sheet.nrows):
      for j in range(sheet.ncols):
           print(sheet.cell_value(i, j))شما می توانید کدهای بالا را در گیت هاب من مشاهده کنید.</description>
                <category>زندگی با داده ها</category>
                <author>یاشار</author>
                <pubDate>Sun, 02 May 2021 12:25:07 +0430</pubDate>
            </item>
                    <item>
                <title>ویرایش فایل اکسل با پایتون (python)</title>
                <link>https://virgool.io/LivingWithData/%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D9%84-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-python-kdgzisrpqorp</link>
                <description>مدیران دیتابیس ها معمولاً داده های مورد نیاز را در یک فایل اکسل به اشتراک می گذارند ، قالب بندی را انجام می دهند و آنها را با مقامات مربوطه به اشتراک می گذارند. این یک تمرین منظم است. پایتون به خوبی با Microsoft Excel ادغام می شود.این مطلب شامل موضوعات زیر است:با استفاده از Python یک نمونه فایل اکسل ایجاد کنیدبا استفاده از Python داده ها را از یک فایل اکسل وارد کنیدبا استفاده از Python داده ها را در صفحه اکسل قالب بندی کنیدابزارهاکتابخانه XlsxWriter: ما برای نوشتن پرونده های Microsoft Excel با فرمت XLSX از ماژول XlsxWriter Python استفاده می کنیم. این گزینه های مختلف قالب بندی ، نمودارها ، جعبه های متن ، رشته های چند فرمتی و ماکرو برای فایل های اکسل را فراهم می کند.کتابخانه Xlrd: یک کتابخانه پایتون برای خواندن داده ها از فایل های اکسل می باشد. این برنامه از هر دو فرمت XLS و XLSX برای خواندن داده ها و قالب بندی اطلاعات از فایل های اکسل پشتیبانی می کند.ماژول XlsxWriter و xlrd Python را با استفاده از ابزار pip نصب کنید:pip install XlsxWriter
pip install xlrdایجاد فایل اکسلبیایید یک نمونه فایل اکسل بدون هیچ گونه قالب بندی ایجاد کنیم. کد زیر را در پایتون اجرا کنید:import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welocme.xlsx&#039;)
worksheet = workbook.add_worksheet()
worksheet.write(&#039;A1&#039;, &#039;Welcome to Python&#039;)
workbook.close()کد بالا یک فایل اکسل با عنوان Welcome.xlsx در پوشه C: \ temp ایجاد می کند، یک صفحه کار جدید در آن اضافه می کند، متن &quot;Welcome to Python&quot; را در ستون A1 می نویسد و کتاب کار را می بندد.اگر فایل Welcome.xlsx  را باز کنید داده های وارد شده توسط کد پایتون را نشان می دهد.تقسیم کلمات بین ستون هابیایید کد بالا را اصلاح کنیم و کلمات را به ستون های مختلف A1 ، B1 و C1 تقسیم کنیم:import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welocme.xlsx&#039;)
worksheet = workbook.add_worksheet()
worksheet.write(&#039;A1&#039;, &#039;Welcome&#039;)
worksheet.write(&#039;B1&#039;, &#039;To&#039;)
worksheet.write(&#039;C1&#039;, &#039;Python&#039;)
workbook.close()هنگامی که کد بالا را اجرا کردیم ، فایل Welcome.xlsx را بازنویسی می کند:ورود داده ها در چندین ردیف و ستون همراه با سر ستونفرض کنید می خواهیم با استفاده از اسکریپت های Python یک صفحه اکسل با داده های زیر ایجاد کنیم. این شامل چندین ستون و ردیف است:ستون ها را با استفاده از worksheet.write تعریف می کنیم:worksheet.write(&#039;A1&#039;, &#039;Name&#039;)
worksheet.write(&#039;B1&#039;, &#039;Department&#039;)برای ردیف ها و ستون ها شاخص را شروع می کنیم. برای ردیف اول و ستون اول ، از یک شمارنده نمایه سازی صفر استفاده می کند. ما نام ستون ها را در مرحله قبل مشخص کردیم ، بنابراین شمارنده من از سطر 1 و col = 0 شروع می شود.داده های مورد نیاز را در قالب آرایه در متغیر data می نویسیم. این شامل داده هایی است که می خواهیم در اکسل نمایش دهیم:data = (
[&#039;Yashar&#039;, &#039;IT&#039;],
[&#039;Mehdi&#039;,&#039;Physiotherapist&#039;],
[&#039;Mitra&#039;, &#039;Student&#039;],
[&#039;Yasaman&#039;,&#039;Bank Manager&#039;],)کد زیر شامل یک حلقه FOR برای عبور از هر سطر و ستون است:for name, score in (data):
worksheet.write(row, col, name)
worksheet.write(row, col + 1, score)
row += 1بنابراین اسکریپت کامل به صورت یر خواهد بود: نویسه های پررنگ  (Bold) با استفاده از اسکریپت های پایتوندر بسیاری از موارد ، ما نام ستون ها را با حروف پررنگ ایجاد می کنیم تا کاربران بتوانند ستون را با داده های واقعی متفاوت کنند. همانطور که در زیر نشان داده شده است ، در پایتون ویژگی bold را فعال می کنیم:bold = workbook.add_format({&#039;bold&#039;: True})کد زیر فایل اکسلی مشابه قبل را ایجاد می کند، با این تفاوت که سر ستون های آن پررنگ است.import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welcome.xlsx&#039;)
worksheet = workbook.add_worksheet()
bold = workbook.add_format({&#039;bold&#039;: True})
worksheet.write(&#039;A1&#039;, &#039;Name&#039;, bold)
worksheet.write(&#039;B1&#039;, &#039;Department&#039;, bold)
row = 1
col = 0
data = ([&#039;Yashar&#039;, &#039;IT&#039;],[&#039;Mehdi&#039;,&#039;Physiotherapist&#039;],[&#039;Mitra&#039;, &#039;Student&#039;],[&#039;Yasaman&#039;,&#039;Bank Manager&#039;],)
for name, score in (data):
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, score)
    row += 1
workbook.close()می توانید ستون های Name و Department را با حروف درشت مشاهده کنید:تغییر عرض ستون های اکسلما می توانیم عرض ستون را برای سلولهای اکسل در پایتون تعریف کنیم. برای این کار از تابع worksheet.set_column همراه با عرض ستون استفاده می کنیم.worksheet.set_column(&#039;B:B&#039;, 60)در کد بالا ما عرض 60 را به ستون اضافه کردیم.import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welocme.xlsx&#039;)
worksheet = workbook.add_worksheet()
bold = workbook.add_format({&#039;bold&#039;: True})
worksheet.write(&#039;A1&#039;, &#039;Name&#039;, bold)
worksheet.write(&#039;B1&#039;, &#039;Department&#039;, bold)
row = 1
col = 0
data = ([&#039;Yashar&#039;, &#039;Hi, You are on iYashar.ir&#039;],[&#039;Mehdi&#039;,&#039;How do you get to see a physiotherapist?&#039;],
&#039;Mitra&#039;, &#039;I am a student of class 1 in Hafez primary school.&#039;],[&#039;Yasaman&#039;,&#039;Are you a Bank Manager?&#039;],)
worksheet.set_column(&#039;B:B&#039;, 60)
for name, score in (data):
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, score)
    row += 1
workbook.close()به تفاوت خروجی نگاه کنید:تغییر رنگ و اندازه قلماکنون ، بیایید تغییر رنگ و اندازه قلم را برای سر ستون ها بررسی کنیم.ما رنگ فونت را با استفاده از font_color و اندازه قلم را با استفاده از متغیرهای set_font_size در اسکریپت های پایتون تعریف می کنیم. اکنون رنگ قرمز را برای سر ستون با اندازه قلم 16 اضافه کنیم:import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welocm.xlsx&#039;)
worksheet = workbook.add_worksheet()
cell_format = workbook.add_format({&#039;bold&#039;: True, &#039;font_color&#039;: &#039;red&#039;})
cell_format.set_font_size(16)
worksheet.write(&#039;A1&#039;, &#039;Name&#039;, cell_format)
worksheet.write(&#039;B1&#039;, &#039;Department&#039;, cell_format)
row = 1
col = 0
data = ([&#039;Yashar&#039;, &#039;Hi, You are on iYashar.ir&#039;],[&#039;Mehdi&#039;,&#039;How do you get to see a physiotherapist?&#039;],[&#039;Mitra&#039;, &#039;I am a student of class 1 in Hafez primary school.&#039;],[&#039;Yasaman&#039;,&#039;Are you a Bank Manager?&#039;],)
worksheet.set_column(&#039;B:B&#039;, 60)
worksheet.set_column(&#039;B:B&#039;, 60)
for name, score in (data):
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, score)
    row += 1
workbook.close()اجرای کد، خروجی زیر را ایجاد می کند:اضافه کردن یک زیر خط برای سر ستونبرای اضافه کردن زیر خط از تابع cell_format.set_underline استفاده می نماییم.بیایید کد زیر را برای اضافه کردن زیر خط به سر ستون ها اجرا کنیم:import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welocme1.xlsx&#039;)
worksheet = workbook.add_worksheet()
cell_format = workbook.add_format({&#039;bold&#039;: True, &#039;font_color&#039;: &#039;red&#039;})
cell_format.set_font_size(16)
cell_format.set_underline()
worksheet.write(&#039;A1&#039;, &#039;Name&#039;, cell_format)
worksheet.write(&#039;B1&#039;, &#039;Department&#039;, cell_format)
row = 1
col = 0
data = ([&#039;Yashar&#039;, &#039;Hi, You are on iYashar.ir&#039;],[&#039;Mehdi&#039;,&#039;How do you get to see a physiotherapist?&#039;],[&#039;Mitra&#039;, &#039;I am a student of class 1 in Hafez primary school.&#039;],[&#039;Yasaman&#039;,&#039;Are you a Bank Manager?&#039;],)
worksheet.set_column(&#039;B:B&#039;, 60)
worksheet.set_column(&#039;B:B&#039;, 60)
for name, score in (data):
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, score)
    row += 1
workbook.close()خروجی به شکل زیر خواهد بود :زیر خط حالت های مختلفی دارد:1 = قالب پیش فرض2 = دوبار زیر خط زدن33 = زیر خط حسابداری واحد34 = زیر حسابداری دوگانهما می توانیم داده ها را برای حسابداری با استفاده از کد زیر قالب بندی کنیم:cell_format.set_underline(34)اگر قالب را به دو خط زیرین تغییر دهیم ، خروجی زیر را می گیرید:cell_format.set_underline(2)تراز بندی متندر یک صفحه کاری مایکروسافت اکسل می توانیم متن را به سمت چپ ، راست یا وسط تراز کنیم. در تصویر زیر قالب بندی را اعمال کردیم:سر صفحه باید تراز وسط باشد، ردیف های دیگر رنگ داده باید به رنگ آبی و تراز وسط باشد:در این حالت ، ما دو قالب داریم - یکی برای هدر ستون و دیگری برای بقیه ستون ها. در اسکریپت های Python زیر ، cell_format و cell_format1 را تعریف کردیم:در Cell_format ، یک خط دیگر برای ترازبندی قلم اضافه می کنیم.cell_format.set_align(&#039;center&#039;)در قالب دیگری ، ما با استفاده از ویژگی font_color رنگ قلم را تعریف کردیم و تراز را روی مرکز تنظیم کردیم.cell_format1 = workbook.add_format({&#039;font_color&#039;: &#039;blue&#039;})
cell_format1.set_align(&#039;center&#039;)اکنون دو نوع قالب متن داریم. ما باید آنها را فقط در ستون های مناسب اعمال کنیم. به عنوان مثال سرآیند ستون ها همانند مثال قبلی به نظر می رسد با این تفاوت که تراز شده در مرکز است. ما برای سر ستون ها از cell_format استفاده می کنیم:cell_format = workbook.add_format({&#039;bold&#039;: True, &#039;font_color&#039;: &#039;red&#039;})
cell_format.set_font_size(16)
cell_format.set_underline(2)
cell_format.set_align(&#039;center&#039;)برای بقیه داده ها ، به تراز وسط و قلم به رنگ آبی نیاز داریم. قالب دیگری را برای این کار تعریف می کنیم:cell_format1 = workbook.add_format({&#039;font_color&#039;: &#039;blue&#039;})
cell_format1.set_align(&#039;center&#039;)این قالب سلول جدید را برای داده های A1 تا A5 و B2 تا B5 با استفاده از تابع worksheet.set_column اعمال می کنیم:worksheet.set_column(&#039;B2:B5&#039;,60,cell_format1)
worksheet.set_column(&#039;A1:A5&#039;, 20,cell_format1)ما می توانیم کد کامل را در زیر مشاهده کنیم و آن را اجرا کنیم تا نتایج مورد نیاز را بدست آوریم:import xlsxwriter
workbook = xlsxwriter.Workbook(&#039;c:\\temp\\Welocme.xlsx&#039;)
worksheet = workbook.add_worksheet()
cell_format = workbook.add_format({&#039;bold&#039;: True, &#039;font_color&#039;: &#039;red&#039;})
cell_format.set_font_size(16)
cell_format.set_underline(2)
cell_format.set_align(&#039;center&#039;)
cell_format1 = workbook.add_format({&#039;font_color&#039;: &#039;blue&#039;})
cell_format1.set_align(&#039;center&#039;)
worksheet.write(&#039;A1&#039;, &#039;Name&#039;, cell_format)
worksheet.write(&#039;B1&#039;, &#039;Department&#039;, cell_format)
row = 1
col = 0
data = ([&#039;Yashar&#039;, &#039;Hi, You are on iYashar.ir&#039;],[&#039;Mehdi&#039;,&#039;How do you get to see a physiotherapist?&#039;],[&#039;Mitra&#039;, &#039;I am a student of class 1 in Hafez primary school.&#039;],[&#039;Yasaman&#039;,&#039;Are you a Bank Manager?&#039;],)
worksheet.set_column(&#039;B1:B1&#039;, 60)
worksheet.set_column(&#039;B2:B5&#039;,60,cell_format1)
worksheet.set_column(&#039;A1:A5&#039;, 20,cell_format1)
for name, score in (data):
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, score)
    row += 1
workbook.close()نتیجهدر این مقاله ، ما اسکریپت های پایتون را برای قالب بندی داده ها در Microsoft Excel بررسی کردیم. پایتون یک زبان قدرتمند است و ما می توانیم کارهای زیادی را با چند خط کد انجام دهیم.منبع: SQLSHACK</description>
                <category>زندگی با داده ها</category>
                <author>یاشار</author>
                <pubDate>Wed, 10 Mar 2021 19:25:28 +0330</pubDate>
            </item>
                    <item>
                <title>دریافت ایمیج های داکر در اوبونتو با کمک docker.ir</title>
                <link>https://virgool.io/LivingWithData/%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D8%A7%DB%8C%D9%85%DB%8C%D8%AC-%D9%87%D8%A7%DB%8C-%D8%AF%D8%A7%DA%A9%D8%B1-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-%D8%A8%D8%A7-%DA%A9%D9%85%DA%A9-dockerir-q8fpqkixrlcq</link>
                <description>حتما شما هم با مشکل نصب یا دریافت ایمیج از docker برخورده اید.  همانطور که می دانید ما عموما در شرایط تحریم زندگی می کنیم و برای انجام  کارها مجبوریم روش های دور زدن تحریم را فرا بگیریم!اگر برنامه نویس باشید، قطعا حداقل یک بار نام داکر (docker)  به گوش شما خورده است. داکر نوعی سیستم مجازی سازی است که ایمیج های  (image) آماده ای دارد که برای کارهای مختلف از راه اندازی وردپرس (wordpress) تا داده کاوی (Data Mining) کاربرد دارند. مشکل اصل جایی شروع می شود که داکر یک محصول آمریکایی است و ما هم مشمول تحریم هستیم!شرکت پارس پک با ایجاد سایت docker.ir به شما اجازه می دهد تا این تحریم  ها رو دور زده و ایمیج مد نظر خود را از کتابخانه (docker pull) داکر نصب  کنید.اگر وارد سایت  شوید می توانید docker.ir شوید، می توانید راهنمای تنظیمات مد نظر خود را بیابید. نصب داکر به راحتی  انجام می گیرد. در این خصوص من مشکلی با IP ایران نداشتم!!حال برای انجام تنظیمات دریافت ایمیج های داکر به ترتیب موارد زیر را انجام دهید:mkdir -p /etc/systemd/system/docker.service.dسپس باید وارد این مسیر شوید و فایل جدید با عنوان http-proxy.conf را ایجاد کنید:touch http-proxy.confسپس برای ویرایش فایل از دستور زیر استفاده می کنیمnano http-proxy.confسپس مقدار زیر را در آن کپی می کنیم:[Service]
Environment=&amp;quotHTTP_PROXY=http://Proxy.Docker.ir:5555&amp;quotحالا تنها باید داکر را متوقف و مجددا اجرا نمایید:systemctl daemon-reload
systemctl restart dockerاکنون به راحتی می توانید با دستور زیر جدیدترین ایمیج ها را از داکر دانلود کنید:sudo docker pull [your image name]موفق باشید!</description>
                <category>زندگی با داده ها</category>
                <author>یاشار</author>
                <pubDate>Tue, 17 Dec 2019 15:36:18 +0330</pubDate>
            </item>
            </channel>
</rss>