كيفية كتابة برنامج نصي Python لمعالجة بيانات جدول بيانات Google

StackOverflow https://stackoverflow.com/questions/2377301

  •  24-09-2019
  •  | 
  •  

سؤال

أنا قادر على الحصول على التغذية من جدول البيانات ومعرف ورقة العمل. أريد التقاط البيانات من كل خلية.

أي ، أنا قادر على الحصول على الخلاصة من ورقة العمل. الآن أحتاج إلى الحصول على البيانات (نوع السلسلة؟) من كل من الخلايا لإجراء مقارنة وللمدخلات.

كيف بالضبط يمكنني فعل ذلك؟

هل كانت مفيدة؟

المحلول

يحتوي API على بيانات Google على ربط Python بما في ذلك جداول البيانات: http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html

نصائح أخرى

هناك آخر مكتبة جدول البيانات يستحق النظر إلى: gspread. لقد استخدمت بيانات بيانات Google المذكورة أعلاه ، ولأول واجهة برمجة تطبيقات المقدمة لي غريبة. تحتاج إلى استخراج مفتاح جدول البيانات لبدء العمل مع جدول البيانات هذا.

هنا وسيلة أبسط. إذا كنت بحاجة إلى جلب البيانات من خلية ، فيمكنك فتح ورقة عمل والحصول على القيمة:

g = gspread.login('your@gmail.com', 'password')

worksheet = g.open('name_of_the_spreadsheet').get_worksheet(0)

# Say, you need A2
val = worksheet.cell(2, 1).value

# And then update
worksheet.update_cell(2, 1, '42') 

ربما يمكنك استخدام هذه المكتبة http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html ?

من المحتمل أن تكون GSPread هي أسرع طريقة لبدء هذه العملية ، ولكن هناك بعض القيود السرعة على تحديث البيانات باستخدام GSPread من مضيفك المحلي. إذا كنت تنقل مجموعات كبيرة من البيانات باستخدام GSPread - على سبيل المثال ، نقل 20 عمودًا من البيانات عبر عمود ، فقد ترغب في أتمتة العملية باستخدام مهمة CRON.

هناك مكتبة جداول بيانات أخرى: Pygsheets. إنه مشابه لـ GSPread ، ولكنه يستخدم Google API V4. وبالتالي يوفر المزيد من الخيارات.

import pygsheets

gc = pygsheets.authorize()

# Open spreadsheet and then workseet
sh = gc.open('my new ssheet')
wks = sh.sheet1

# Update a cell with value (just to let him know values is updated ;) )
wks.update_cell('A1', "Hey yank this numpy array")

# update the sheet with array
wks.update_cells('A2', my_nparray.to_list())

# share the sheet with your friend
sh.share("myFriend@gmail.com")
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top