انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: Mohammad Gho در 02 شهریور 1399، 01:35 قظ
-
سلام من یک فایل CSV توی LibreOffice -Calc باز کردم الان میتونم کل SHEET های مورد نظرم انتخاب کنم ولی من باید برای جمع کردن مقدارشون که دو ستون بعد این هایی که انتخاب کردم قرار دارند رو جمع بزنم ستون سایز ولی نمیدونم چطوری مثلا دستور خرید هایی که من انتخاب کردم برو عدد مقدار که دو ستون بعد قرار دارند با هم جمع کن
-
سلام من یک فایل CSV توی LibreOffice -Calc باز کردم الان میتونم کل SHEET های مورد نظرم انتخاب کنم ولی من باید برای جمع کردن مقدارشون که دو ستون بعد این هایی که انتخاب کردم قرار دارند رو جمع بزنم ستون سایز ولی نمیدونم چطوری مثلا دستور خرید هایی که من انتخاب کردم برو عدد مقدار که دو ستون بعد قرار دارند با هم جمع کن
منظورتون رو نفهمیدم. اگه ممکنه یخورده بهتر توضیح بدید. یعنی جمع دو تا ستون رو بنویسید تو ستون سوم؟
-
یعنی من ستون اول دارای دو مدل داده هست یکی خرید و دومی فروش و اینها با هم قاطی اند من با دستور find سفارش های خرید باید انتخاب کنم و الان مشکل این که نمیدونم چطوری باید ستون سایز این خرید ها رو که دو ستون بعد از این که من انتخاب میکنم وجود دارند با هم جمع کنم
حالا اگر راهی باشه که من ترتیب قرار گرفتن ستون اول که هم حاوی دستور خرید و هم فروش جوری بزارم که همه خرید ها پشت سر هم قرار بگیرند راحت میشه ستون حاوی مقدار از اول تا جایی که لازمه با شیفت راحت انتخاب کرد بعد با هم جمع بست
نمی دونم چرا وقتی من همه دیتایی که از ستون اول لازم دارم انتخاب میکنم میرم گزینه دیتا sort بزنم غیرفعال هست
-
قاعدتاً باید با همان sort درست شود.
اگر نمیشود، میتوانی یک نمونه از فایلت را پیوست کنی که ببینیم چهکار میشود کرد.
-
سلام
الان می تونم از گزینه سورت استفاده کنم ولی اون کاریی که من لازم دارم توی گزینه هاش نیست
کلا من باید از ستون A تمام buy ها رو انتخاب کنم و به یک روشی از ستون سایز مقدارشون با هم جمع کنم
-
من هنوز نفهمیدم چی قراره با چی جمع بشه! یعنی سایزها رو میخوای با هم جمع کنی؟ یعنی a+b+c؟ یا اینکه بگی از سایز a مثلا ۶ تا خریدیم.
-
جمع مقدار سایز همه buy ها همین
توی عکس همه رو انتخاب کردم باید ستون سایز شون با هم جمع بشه
البته کل فایل به این کوجیکی نیست که بشه دستی انتخاب کرد برا همین که من اولین باره دارم با لیبرا کار میکنم وارد نیستم
-
کاری که میخوای بکنی خیلی ساده هست، باید از sumif function استفاده کنی.
SUMIF(Range; Criteria; SumRange)
https://help.libreoffice.org/6.1/en-US/text/scalc/01/04060106.html#Section15
۱. قدم اول این هست که فایل رو با فرمت ods ذخیره کن (با فرمت مربوط به LibreOffice Calc)
۲. برو توی یه cell خالی و دستور زیر رو وارد کن:
=SUMIF(A2:A30,"buy",C2:C30)
ولی مطابق زیر عوضش کن:
به جای A2 اولین cell که buy/sell داری رو بذار
به جای A30 آخرین cell که buy/sell داری رو بذار
به جای C2 اولین cell که size داری رو بذار
به جای C30 آخرین cell که size داری رو بذار.
-
اگر خیلی با فایلهای متنی (مثل CSV) کار میکنی، فکر کنم خوب باشد زبان AWK را هم یاد بگیری - که خیلی طول نمیکشد.
برای مثال، کاری که میخواهی بکنی را این کد برایت انجام میدهد:
$ awk 'BEGIN{FS =","; buy = 0; sell = 0} {if($1 == "buy"){buy = buy + $3} else if($1 == "sell"){sell = sell + $3}} END{print "buy: ",buy; print "sell: ", sell}' yourFile.csv
پست قبلی را که ویرایش کردم، همه چیز رفت تو باقالیا!
-
کاری که میخوای بکنی خیلی ساده هست، باید از sumif function استفاده کنی.
SUMIF(Range; Criteria; SumRange)
https://help.libreoffice.org/6.1/en-US/text/scalc/01/04060106.html#Section15
۱. قدم اول این هست که فایل رو با فرمت ods ذخیره کن (با فرمت مربوط به LibreOffice Calc)
۲. برو توی یه cell خالی و دستور زیر رو وارد کن:
=SUMIF(A2:A30,"buy",C2:C30)
ولی مطابق زیر عوضش کن:
به جای A2 اولین cell که buy/sell داری رو بذار
به جای A30 آخرین cell که buy/sell داری رو بذار
به جای C2 اولین cell که size داری رو بذار
به جای C30 آخرین cell که size داری رو بذار.
بله منم گفتم این کار ساده ایی من چون تازه دارم با لیبرا کار میکنم وارد نبودم دارم تازه داکیومنت لیبرا میخونم بیشتر وارد شم بهش
-
اگر خیلی با فایلهای متنی (مثل CSV) کار میکنی، فکر کنم خوب باشد زبان AWK را هم یاد بگیری - که خیلی طول نمیکشد.
برای مثال، کاری که میخواهی بکنی را این کد برایت انجام میدهد:
$ awk 'BEGIN{FS =","; buy = 0; sell = 0} {if($1 == "buy"){buy = buy + $3} else if($1 == "sell"){sell = sell + $3}} END{print "buy: ",buy; print "sell: ", sell}' yourFile.csv
پست قبلی را که ویرایش کردم، همه چیز رفت تو باقالیا!
کار زیاد که نه ولی الان که شما یاد گرفتن این زبان AWK پیشنهاد دادی کنجکاو شدم حتما از امشب برم تو کار یوتیوب اموزش AWK دانلود کنم من کلا سرم درد میکنه برای ور رفتن با هر جیز جدیدی در کنار ادامه دادن به یاد گرفتن پایتون و هر کاری که توی شل لینوکس بشه یاد گرفت ممنون از این راهنمایی تون
-
awk زبون کامل و پیچیده نیستش مثل پایتون
awk مال تکست پراسسینگ و این کاراست
-
بله منم منظورم این نبود پایتون شبیه awk است اشاره من به پایتون منظورم علاقه شخصی خودم بود که پیگیری میکنم
-
اگر خیلی با فایلهای متنی (مثل CSV) کار میکنی، فکر کنم خوب باشد زبان AWK را هم یاد بگیری - که خیلی طول نمیکشد.
برای مثال، کاری که میخواهی بکنی را این کد برایت انجام میدهد:
$ awk 'BEGIN{FS =","; buy = 0; sell = 0} {if($1 == "buy"){buy = buy + $3} else if($1 == "sell"){sell = sell + $3}} END{print "buy: ",buy; print "sell: ", sell}' yourFile.csv
پست قبلی را که ویرایش کردم، همه چیز رفت تو باقالیا!
من واسه دیتاهای سنگین از کتابخونه Pandas پایتون استفاده میکنم. اونم خیلی خوبه.