Reddit Wallstreetbets - Veb-qirib tashlash bo'yicha qo'llanma

r / wallstreetbets bosh sahifasi. Ularda 10 milliondan ortiq rasmiy foydalanuvchilar va millionlab odamlar yashiringan.

Mundarija

Moliya uchun Reddit ma'lumotlarini qanday ishlatish kerak?

Reddit - bu g'oyalarni yaratish uchun ajoyib joy bo'lishi mumkin bo'lgan bag'ishlangan va aqlli odamlarning onlayn munozarali forumi.

Biz ushbu ma'lumotni qaysi aktsiyalar haqida ko'proq gaplashilayotganini va potentsial ravishda sotib olinadigan va sotiladigan narsalarni tushunish uchun mavzu xabarlaridan foydalanishimiz mumkin.

Reddit Wallstreetbets - Kundalik munozara

Har bir savdo kuni subdomain / r / wallstreetbets-da "Daily Discussions" deb nomlangan mavzu mavjud bo'lib, unda foydalanuvchilar qaysi aktsiyalarni sotib olishlari, sotishlari va fond bozorida nima qilishni umid qilishlari haqida gaplashadilar.

Bu qaysi aktsiyalar haqida gap ketayotganini va potentsial sotib olish yoki sotish qanday bo'lishi mumkinligini ko'rish uchun potentsial imkoniyatni taqdim etadi.

Biz qirib tashlamoqchi bo'lgan ma'lumotlar

Biz oldingi kunlardagi "Daily Discussions" mavzusidagi ma'lumotlarni qirib tashlaymiz (aksariyat mavzular har kuni 30-60 ming xabar yuborgan!). Bu xabarni yuborishni istagan odamlarning aksariyati buni amalga oshirgan.

Reddit-ni qirib tashlashning qanday muammolari bor?

Reddit yaxshi tuzilgan veb-sayt bo'lib, veb-chiqindilar haqida gap ketganda foydalanuvchilar uchun nisbatan qulaydir. Biz hal qilishimiz kerak bo'lgan muammolar quyidagilar

  1. Reddit veb-saytidan ma'lumotlarni olish uchun brauzerni avtomatlashtirishdan foydalanish zarurati
  2. Reddit ichidagi katta hajmdagi varaqlarni ko'rib chiqish sharhlarni olish uchun bir necha marta bosish kerak.
  3. Reddit API bir daqiqada faqat ma'lum miqdordagi so'rovlarga ruxsat beradi
  4. Tahlil qilish uchun 60 000 ta izohni yig'ish

»Asosiy sarmoyangizni maqtash uchun veb-qirib tashlangan ma'lumotlardan foydalanishga harakat qiling. Mana, yangi g'alati so'z: Miqdor (Miqdor + Asosiy). Qo'shimcha ma'lumot olish uchun ushbu maqolani ko'rib chiqing: Quantamental nima? Investitsiya qilishning 3 usuli

Loyiha - Reddit Wallstreetbets ma'lumotlarini qirib tashlash va ularni tahlil qilish

Vazifalarga umumiy nuqtai

  1. Shiqillaganlar ro'yxatini yarating (Siz uchun juda qiyin ish!)
  2. Avvalgi kunlik "Kundalik munozara" mavzusidagi havolani oling
  3. Barcha sharh havolalarini yaratish uchun reddit API bilan o'zaro aloqada bo'ling
  4. Har bir sharhning matnini oling
  5. Birja savdolari ro'yxatini sharhlar matni bilan solishtiring
  6. Ma'lumotni CSV fayliga chiqarish
  7. Googlesheets-ga ma'lumot bering

Shunday qilib, keling, bularning barchasini birma-bir hal qilaylik.

Birja savdolari ro'yxati yaratilmoqda

AQSh bozorida birjalarning biron bir shakli bo'yicha 1476 dan ortiq kompaniyalar mavjud. Men ushbu tickerlarni onlayn dasturdan (Sharepad) qirib tashlash uchun oddiy dastur yaratdim, ammo matnli faylni shu yerdan olishingiz mumkin, shunda ishlarning aksariyati siz uchun amalga oshiriladi.

Siz nima uchun bunday qilyapmiz, deb yaxshi so'rashingiz mumkin. Ma'lumotlarning katta to'plami bilan ishlashda ba'zida uni matnli faylga chiqarish va keyinchalik ro'yxatni yaratish uchun ushbu faylni chaqirish foydali bo'lishi mumkin. Dasturda 1400 dona birja savdolari ro'yxatiga ega bo'lish, albatta kodni yanada katta hajmga olib keladi!

Reddit-dan ma'lumot olish

Agar Reddit qidirish funktsiyasidan foydalangan holda Daily Discussion-ni qidirsak, bunga duch kelamiz

Reddit Search funktsiyasi

Har qanday veb-chiqindilarni loyihasini amalga oshirishda, siz ma'lumot olishni istagan veb-saytga odatlanib qolish muhimdir.

Bizni qiziqtirgan mavzular aslida har doim ro'yxatning 2-bandidir. "Kundalik munozara mavzusi" ni belgilash, afsuski, bizga quyida ko'rilgan rasmni beradi.

Reddit-ni veb-tarjima qilishning navbatdagi muammosi shundaki, u sahifada juda ko'p interaktiv elementlarga ega, bu esa har doim javascript ishlatilishini anglatadi. Veb-saytdan ma'lumot olishning eng oddiy usuli - "So'rovlar" to'plami, bu bizga reddit serverlariga HTTP so'rovlarini yuborish va kerakli HTML-kodni olish imkonini beradi.

Nima bo'lishini ko'rib chiqaylik

Ajoyib! Biz xohlagan javobimiz bor. HTTP holat kodlariga o'rganmaganlar uchun 200 kodi biz serverdan javob hosil qilganimizni anglatadi. Qo'shimcha ma'lumot uchun status kodlarini bu erda qidirishingiz mumkin.

Ammo bunga yanada chuqurroq qarashga imkon bering, biz javoblar ko'rib chiqish uchun so'rovlar to'plamining matnli usulidan foydalanishimiz mumkin. Endi biz qaytaradigan javob juda ko'p javascriptdir. Buni teglari orqali bilib olishimiz mumkin.

Ushbu javobni pastga aylantirib ko'rsak, biz uchun foydali ma'lumotlar yo'q! Xo'sh, kerakli ma'lumotlarni olish uchun keyingi qadam qanday?

Javascriptni veb-brauzerdan olib tashlash bizni brauzerning veb-sayt bilan qanday ishlashini avtomatlashtirishga harakat qilishni talab qiladi. Buning uchun python ichida biz Selenium to'plamidan foydalanamiz.

Selenyum aslida sinov interfeysi, ammo veb-skrining qilishni talab qiladiganlarda foydalanishni ko'paytirdi. Yaxshi yangilik shundaki, oddiy narsalarni o'rganish juda oddiy!

Kerakli paketni import qilish uchun veb-drayver sinfini import qilishimiz kerak. Endi selenyum brauzer bilan o'zaro ta'sir qiladi. Biz veb-drayverni chaqiramiz va qaysi brauzerdan foydalanmoqchi ekanligimizni aniqlaymiz. So'ngra ma'lumotni olish uchun selen usullaridan foydalanishimiz mumkin, chunki brauzer veb-sahifani ko'rib chiqadi.

Selenni ishlatish uchun bu erda joylashgan xromedriverni olishimiz kerak, bu sinov uchun ishlatilishi mumkin bo'lgan mustaqil paket. Ehtiyot bo'ling! Yuklashdan oldin foydalanayotgan Chrome brauzeringizning versiyasini tekshiring. Bu to'g'ri versiyaga mos kelishi kerak. Boshqa brauzerlardan foydalanish mumkin va men sizni bu erda selen hujjatlari bilan tanishtiraman

Izohlar

1. Biz veb-drayverni import qilamiz va olishni istagan urlni aniqladik.

2. O'zgaruvchan drayverni aniqlaymiz, xrom usulini ishga tushiramiz va xromedriverni topish yo'lini aniqlaymiz.

3. Biz brauzerni simulyatsiya qilish uchun webdriver get () usulidan foydalanamiz, bu xromedriverni ochadi va biz ko'rsatgan veb-saytga o'ting.

Endi biz veb-sayt bo'ylab harakatlanish uchun selen usullaridan foydalanishni boshlashimiz mumkin. Selenyum juda ko'p qirrali, chunki u brauzerni bosish, sudrab tushirish va aylantirish kabi harakatlarni simulyatsiya qilishi mumkin. Bizga biron bir murakkab narsa qilish uchun foydalanish kerak bo'lmaydi.

Shunday qilib, endi biz skriptlar asosida joylashgan HTML kodiga kirish huquqiga egamiz. HTML kodini olish uchun selenni ishlatishimiz mumkin. Selenyum sizga turli xil atributlar / teglar yordamida HTML kodini olish imkoniyatini beradi. Buning uchun biz XPATH dan foydalanamiz. XPATH dastlab XML hujjatlaridan tarkib olish uchun ishlatiladi, ammo u HTML hujjatlari uchun ham ishlatilishi mumkin. XPATH bilan ko'p narsalarni qabul qilish kerak, shuning uchun biz kerakli narsalarni olish uchun asoslardan o'tamiz. Agar siz XPATH haqida ko'proq bilmoqchi bo'lsangiz, iltimos, bu erda ko'ring.

Reddit-dan to'g'ri yo'nalish havolasini olish

Endi biz Selenium bilan ish olib bordik, endi biz HTML-ni batafsil ko'rib chiqishimiz kerak, chunki sahifadan kerakli ma'lumotlarni qanday qilib olishning eng yaxshi usuli bo'ladi.

Html-dan ko'rishimiz mumkinki, yorlig'i, bu erda havolaning matni ikkita ota-onaning havolasi.

Endi sahifani ko'rib chiqish sizga uchta narsani aytib beradi.

  1. O'sha dam olish kunlari faqat bitta mavzuga ega va sana jumadan yakshanbagacha.
  2. Ro'yxat "Daily Discussions Thread" va "Weekend Discussion Thread" ga xos bo'lishi kerak.
  3. Biz sanadan qat'i nazar, kechagi havolani olish usulini taqdim etishimiz kerak.

Buning uchun biz kecha sana olinadigan o'zgaruvchini yaratishimiz kerak va buning uchun biz "datetime" to'plami va "dateutil" ni import qilamiz.

Datetime - bu sana bilan bog'liq ko'plab satrlarni qayta ishlashga va uni datetime ob'ektigacha soddalashtirishga qodir modul. Ushbu datetime ob'ekti yordamida siz istalgan sanani taqqoslashingiz mumkin. Biz bundan o'tgan kunlarni aniqlash uchun foydalanamiz.

Dateutil.parser-ni tahlil qilish usuli, veb-saytdagi sana kabi noaniq ko'rinadigan va uni datetime ob'ektiga o'zgartiradigan har qanday qatorni. Bu bizga mavzudagi sanalarni kechagi sanaga solishtirishga imkon beradi.

Keyin biz "Kundalik munozarali mavzu" va "Dam olish kunlari" ni ko'rsatib, mavzular ro'yxatini ko'rib chiqamiz. Mavzu matni sanasiga asoslanib biz havolani olishimiz mumkin. Dam olish kunlari uchun bizda matnli matnda bir qator sanalar berilganligi sababli, agar kecha sana yakshanba yoki shanba bo'lsa, havola bir xil bo'lishiga ishonch hosil qilishimiz kerak.

Izohlar

1. date.today () usuli bugungi kunni datetime ob'ekti sifatida hosil qiladi, usul timedelta (kunlar = 1) datetime ob'ektidan bir kunni olib tashlaydi. Kecha o'zgaruvchini shu bilan aniqlaymiz.

2. Biz o'zgaruvchan havolalarni aniqlaymiz, endi XPATH oldin aytib o'tilganidek, tirnoqlardan foydalaniladi. // qismi butun HTML hujjatiga ishora qiladi, * barcha mumkin bo'lgan ob'ektlarni belgilaydi. Biz barcha "havola" matni uchun sinfni belgilaydigan 'class' atributining barcha mumkin bo'lgan ob'ektlarini xohlaymiz.

3. Biz barcha ish zarrachalarini ko'rib chiqamiz, chunki selen uchun asosiy elementning matnini olish uchun '.text' belgilashimiz kerak. Esingizda bo'lsa, a.text biz selen elementlari matniga kirayotganimizni anglatadi. Biz ushbu satrda boshlang'ich satr usulidan foydalanamiz, bu kunlik munozara yoki dam olish kunlari mavzusi.

4. Biz bu ipni ikkiga bo'ldik, chunki biz faqat ipning so'nggi uchta qismiga qiziqamiz. Split () usuli yordamida ro'yxat hosil bo'ladi, keyin biz ro'yxatning oxirgi uch qismini belgilay olamiz va qo'shilish ro'yxati usuli yordamida ularni qatorga qo'shamiz.

5. parse () usuli yordamida biz ushbu mag'lubiyatni o'sha kunning datetime ob'ektiga aylantira olamiz.

6. Keyin biz kechagi sanani iplar havolasidan ajratilgan sana qatori bilan taqqoslaymiz.

7. Agar o'sha ikkita sana teng bo'lsa, biz yana XPATH-dan foydalanamiz. Agar siz HTML-kodga qarasangiz, havola havolasi matni havoladan ikki teg pastga. Shunday qilib, biz a.find_element_by_xpath yordamida xpath olish uchun selen usullarini "zanjir" qila olamiz. ../ .. biz ota-ona tugunining ota-ona tugunini (ota-bobo tuguni) ip havolasi matn yorlig'iga qo'shilishini xohlayotganimizni bildiradi. Bu erda havola matni havolasiga havola mavjud.

8. Dam olish kunlarini boshqarish uchun biz shunga o'xshash koddan foydalanamiz. Bu safar biz matnni manipulyatsiya qilishimiz kerak. weekend_date [-2] bizni '28 -30 'qatoriga havola matnida beradi. Shunday qilib, biz satrning ushbu qismini ajratamiz va sana sifatida "30" dan foydalanamiz (bu yakshanba kuniga to'g'ri keladi). Biz sana qatorini oy va yil bilan yaratamiz. Buni keyin tahlil qilish usuli yordamida datetime ob'ektiga aylantirish mumkin.

9. Shanba sanasini boshqarish uchun biz havola matnini tanlaganimizda, datetime ob'ektiga aylantiradigan sana kechagi o'zgaruvchan sana bilan bir xil ekanligiga ishonch hosil qilishimiz kerak. Buni amalga oshirish uchun biz matn matnining "30" qismidan birini olib tashlashimiz kerak. Keyin biz ushbu o'zgaruvchini shanba deb ataymiz.

10. Biz yakshanba va shanba kunlarini yaratdik, so'ngra agar biz iboralar bo'yicha kecha o'zgaruvchini yakshanba kuni bilan taqqoslash uchun if (ifoda) dan foydalangan bo'lsak yoki biz qurgan shanba sanasiga. Keyin biz bir xil o'zgaruvchan havolani belgilaymiz, chunki ip har ikkala sana uchun bir xil bo'lishi kerak.

Yigit! Ko'p kodlar, lekin oxirida bizda haftaning qaysi kuni bo'lsa ham, biz kechagi sanani ushlaymiz. Biz ushbu mavzu havolasi matniga tegishli, agar biz zarba olsak, u holda ushbu ip havolasini maxsus qo'lga olamiz. Bu keyinchalik ishlatilishi mumkin

Ammo API maqsadlari uchun biz faqat "fpv2fn" qismi bo'lgan ish zarrachalari identifikatoriga muhtojmiz. Biz ushbu ipni ajratib, kerakli qismni olishimiz mumkin.

Izohlar

1. Bizga aslida ro'yxatdagi uchinchi havola kerak, biz get_attribute usulini ishga tushiramiz va kerakli havolani olamiz.

2. Ushbu havolani / ga bo'lish uchun biz split string usulidan foydalanamiz. Bu havolaning barcha qismlari ro'yxatini yaratadi.

3. Bizga aslida kerakli sharhlar uchun faqat oxirgi uchinchi ro'yxat kerak.

Reddit-dan Reddit izohlari identifikatorlarini olish

Reddit veb-saytidan ma'lumotlarni olish haqida gap ketganda juda qulay. Buning uchun API mavjud. Biz aslida "Pushshift" deb nomlangan oddiy API ishlatamiz, bu reddit uchun katta ma'lumotlar API. Reddit API-dan ko'ra, u bilan tanish bo'lmaganlar uchun bu juda qulaydir! Reddit API uchun zarur bo'lgan autentifikatsiya qilishning hojati yo'q.

Reddit ish zarrachalarining ishlash usuli shundan iboratki, har bir izohda "id" mavjud. Bu so'zni barcha sharhlarni olishni osonlashtiradi, chunki agar biz ushbu ma'lumotlarning barchasini olish uchun postlarni kengaytirish uchun barcha sharhlarni birma-bir bosishimiz kerak bo'lsa, bu juda qiyin bo'lar edi.

Pushshift bizga barcha izohlar identifikatorlari ro'yxatini olish usulini taqdim etadi, undan keyin barcha sharhlar matnini olish uchun foydalanish mumkin.

Izohlar

1. Biz pushshift API bilan ishlash uchun so'rovlar paketidan foydalanamiz, biz avvalgi ma'lumotlarni olgan havola uchun izoh identifikatorlarini xohlaymiz.

2. Biz ushbu satr identifikatorini pushshift so'roviga kiritish uchun f-satrlardan foydalanmoqdamiz.

3. So'rovlar json () funktsiyasiga ega, bu bizga barcha sharhlarning json faylini beradi.

4. Keyin selen brauzerini yopamiz, chunki bundan keyin kerak bo'lmaydi

Raw_comment_listni ko'rib chiqsak, u shunday ko'rinadi

Shunday qilib, endi bizda ushbu xabarning barcha sharhlar identifikatorlari ro'yxati mavjud, aksiyalarni belgilash ro'yxatini tuzishni ko'rib chiqaylik.

Qimmatbaho qog'ozlar ro'yxatini yaratish

Kodni yozishdan oldin txt faylini yuklab olganingizga va uni python fayli bilan bir xil joyda saqlaganingizga ishonch hosil qiling! Buning uchun biz txt faylini o'qish va undan ro'yxat tuzish uchun open funktsiyasidan foydalanamiz. Bu bizni katta miqdordagi kod yozishdan xalos qiladi.

Izohlar

1. Biz o'qish rejimida with operatori va ochiq funktsiyasidan foydalanamiz va buni w deb ataymiz

. Biz o'zgaruvchan aktsiyalarni yaratamiz va barcha aktsiyalar ro'yxatini olish uchun readlines () ochiq usulidan foydalanamiz.

3. Biz bo'sh stocks_list ro'yxatini yaratamiz va har bir birja tickerini ko'rib chiqamiz va uni almashtirish () string usulini chaqiramiz, chunki buni readlines () biz xohlamagan yangi qator beradi \ n Keyin biz ushbu aktsiyalarni belgilovchi vositani ro'yxatimizga qo'shamiz.

Reddit-dan sharh matnlarini oling

Endi biz Pushshift API-dan oldingi bo'lim ro'yxatida olgan har bir sharhimiz uchun sharhlar tanasini olish uchun foydalanishimiz mumkin.

Izohlar

1. Biz sharhlar identifikatorlari ro'yxatini raw_comment_list ['ma'lumotlar'] bo'yicha tanlaymiz

2. Biz buni tovushli qatorga beramiz. Buning sababi shundaki, bizda ba'zida 60000 dan ortiq ro'yxat mavjud bo'lib, numpy bu bilan shug'ullanadigan arxitekturaga ega.

3. Biz comment_list o'zgaruvchisini aniqlaymiz, biz har bir izoh identifikatorini a bilan qo'shamiz, keyin uni Pushshift API-ga kiritish mumkin.

4. Biz barcha izoh identifikatorlarini API so'roviga

o'tkaza olmaymiz, biz buni bir vaqtning o'zida 1000 ta identifikatorda bajarishimiz kerak . 5. Biz Pushshift API-ga yana bir so'rov yuboramiz. Qidiruv identifikatorlari bizga API-ni izohlar ro'yxati bilan qidirishga imkon beradi. Biz buni izoh idlarining satrini kiritish uchun yana f-string yordamida qilamiz. & Maydonlari biz faqat sharhning asosiy qismini xohlaymiz va = size qancha javobni qaytarishni xohlayotganimizni bildiradi.

6. Bu json javobi sifatida qaytib keladi va biz sharhlar organlarini olish uchun so'rov json () usulidan foydalanamiz

Reddit izohlarini tahlil qilish

Endi bizda 1000 ta izohli matn bor, biz birja savdolari haqida necha marta aytilganligi to'g'risida ma'lumotlarni to'plashimiz kerak. Barchasini qanday olishimiz haqida keyingi bobda bilib olamiz.

  1. Biz hisoblagich sinfini import qilamiz, bu bizga birja savdo belgisi necha marta aytilganligini hisoblashga imkon beradigan kodning bir qismi.
  2. Biz "Counter" sinfiga qo'ng'iroq qilishni taklif qilamiz. Biz buni lug'at kabi juda ishlatishimiz mumkin.
  3. Biz ilgari yaratgan sharhlar matni va aktsiyalar ro'yxatidan foydalanish funktsiyasini yaratamiz
  4. Biz har bir izohlar ro'yxatiga kirish uchun o'zgaruvchidagi har bir izohni yangi fikrlardan ['sana'] dan ko'rib chiqamiz.
  5. Endi biz birja savdolarining birortasi izoh matnida mavjudligini aniqlamoqchimiz, buning uchun har bir aktsiya belgisini skanerdan o'tkazamiz va har qanday izoh tanasi uchun [tanasi] biz matni bor yoki yo'qligini bilmoqchimiz.
  6. Agar lug'atga o'xshash turdagi stock_dict o'zgaruvchisida ko'rsatilgan bo'lsa, biz uni belgilaymiz.

Reddit-ning barcha izohlarini olish

Shunday qilib Pushshift API va Reddit API sizning so'rovlaringizni yuborish soni bilan cheklangan. Shunday qilib, biz API-ga qilgan so'rovlarimizni paketlashimiz kerak. Shuning uchun biz numpy-dan foydalanmoqdamiz, biz u bilan so'rovni osongina to'plashimiz mumkin.

Biz aslida numpy-ga asl ro'yxatdagi birinchi 1000 ta elementni o'chirishga ruxsat beramiz va buni davom ettirish uchun vaqt oralig'ini yaratamiz, ammo bu 1000 ta element bilan nima qilishimiz sharhlarni olish va keyin bizdagi Counter sinfini yangilashdir.

Izohlar

1. Ro'yxatni np qatoriga yuklashimizdan oldingi kabi.

2. Biz nimani o'chirmoqchi ekanligimizni numpy tilim usuli yordamida aniqlaymiz

3. Biz tozalangan ro'yxatni asl ro'yxatning numpy o'chirish usulini chaqirish va aniqlangan tilimdan 1000 marta foydalanib aniqlaymiz.

4. Vaqt oralig'i yaratiladi, ro'yxatda hali ham narsalar mavjud bo'lsa, biz yana 1000 ta elementni o'chirib tashlaymiz. Keyin keyingi 1000 ta izoh identifikatorining yangi ro'yxatini yaratamiz.

5. Get_comments funktsiyasidan yangi izohlar ro'yxati bilan foydalanib, buni get_stock_list funktsiyasiga qo'shamiz va keyin Counter sinfini yangilaymiz. Bu Counter sinfidagi ajoyib narsa, siz uni tugatguningizcha qo'shishingiz mumkin.

6. Va nihoyat, stock_dict diktga o'xshash bo'lgani uchun biz uni lug'atga osonlikcha o'zgartira olamiz. Bu ma'lumotni chiqarishni osonlashtiradi.

Yakuniy kod

Lug'atni har xil usullarga o'tkazmasdan oldin siz ko'rib chiqishingiz uchun yakuniy kod bir joyda joylashgan.

Ma'lumotni qanday qilib CSV formatida chiqarishni ko'rsating

Agar siz CSV bilan ishlashni yaxshi bilmasangiz, men sizga bu erga qarashni maslahat beraman. Biz yaratgan lug'at bilan CSV faylini csv.writer usuli yordamida yozamiz.

1. stock.keys () va stock.values ​​() har bir aktsiya belgisi va qiymatiga kirishimiz mumkinligini anglatadi. Avval ularni alfasayısal tartiblash uchun tartiblangan lug'at usulini qo'llaymiz. Keyin biz har bir elementni yuqoriga ziplaymiz, demak ikkala kalit va qiymatlar ro'yxatining har bir birinchi elementi naychaga qo'yiladi. Keyin biz ma'lumotlar sifatida aniqlanadigan ushbu kataklarning ro'yxatini tuzishimiz mumkin.

2. stock.csv faylini yaratish uchun a bilan bayonot va ochiq funktsiyadan foydalanamiz

3. O'zgaruvchan yozuvchini csv yozuvchi usuli bilan aniqlaymiz. Endi biz ushbu yozuvchi usuliga qatorlarni yozishda yangi qatorlar qo'shilishini xohlamasligimiz kerak, shuning uchun lineterminator = '\ n' ni aniqlaymiz.

4. Ustunlarni yaratish uchun biz Writer () usulidan foydalanamiz.

5. Keyin biz yaratgan katakchalarning har bir tugmachasi va qiymatini pastadir qilamiz va ularni qator sifatida yozamiz.

Ma'lumotlarni Google Sheets-ga chiqarish

Googlesheets API bilan o'zaro aloqada bo'lishimiz uchun "pygsheets" to'plamidan foydalanamiz!

Buni amalga oshirish uchun avval googlesheet API-ni o'zingiz o'rnatishingiz kerak! Sizni ushbu jarayon orqali olib boradigan pygsheets hujjatlariga murojaat qilaman. Bu amalga oshirilgandan so'ng va bizda json faylida yorliqlar mavjud bo'lsa, biz Google jadvallari bilan o'zaro aloqada bo'lish uchun pygsheetsdan foydalanishimiz mumkin.

Dastlab biz yaratgan lug'at bilan pandas dataframe yaratamiz. Keyin biz json faylidan foydalanib, google sheet API-dan foydalanishga ruxsat beramiz. Google jadvalini yarating va havolada bir qator harflar va raqamlarni ko'rishingiz kerak, bu biz ma'lumot kiritishimiz kerak bo'lgan kalit. Keyin ma'lumotlar jadvalimiz bilan ish varag'ini qo'shish uchun biz jadvallarni ishlatamiz.

Izohlar

1. Biz lug'atimizning pandas ma'lumotlar bazasini yaratamiz

2. Biz pgsheets paketining avtorizatsiya qilish usulidan foydalanamiz, biz sizga Google taqdim etadigan Google sahifasi API-ga kirish uchun ma'lumotlarimizni aniqlaymiz.

3. Biz kalitni ma'lumotlarni kiritmoqchi bo'lgan varaq sifatida aniqlaymiz.

4. Google jadvalini pygsheets bilan ochish uchun varaq o'zgaruvchisi yaratiladi.

5. Keyin add_worksheet usulini chaqiramiz va unga nom beramiz.

6. Keyin biz yangi yaratilgan pandalar ma'lumotlar bazamizdan foydalanadigan va A1 katakchaga ma'lumotlarni kiritishni boshlaydigan set_dataframe () usulidan foydalanamiz.