get_spread.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/usr/bin/python3
  2. import sys
  3. import codecs
  4. import traceback
  5. import redis
  6. import requests
  7. import re
  8. import pandas as pd
  9. import random
  10. import urllib
  11. import json
  12. import gspread
  13. import datetime
  14. from gspread_pandas import Spread, Client
  15. from oauth2client.service_account import ServiceAccountCredentials
  16. import os
  17. def save_sheet(df,filename,tabname,startpos='A1'):
  18. scope = ['https://spreadsheets.google.com/feeds',
  19. 'https://www.googleapis.com/auth/drive']
  20. credentials = ServiceAccountCredentials.from_json_keyfile_name('c:\\keys\\innnews-d27b01472ba2.json', scope)
  21. gc = gspread.authorize(credentials)
  22. spread = Spread(filename,creds=credentials)
  23. spread.df_to_sheet(df, index=False, sheet=tabname, start=startpos, replace=False)
  24. def get_sheets(filename):
  25. result=[]
  26. scope = ['https://spreadsheets.google.com/feeds',
  27. 'https://www.googleapis.com/auth/drive']
  28. credentials = ServiceAccountCredentials.from_json_keyfile_name('c:\\keys\\innnews-d27b01472ba2.json', scope)
  29. gc = gspread.authorize(credentials)
  30. # files=gc.list_spreadsheet_files()
  31. # print(files)
  32. spread = Spread(filename,creds=credentials)
  33. df=spread.sheet_to_df(sheet='2022年')
  34. for idx,row in df.iterrows():
  35. r1=row[1].strip()
  36. if len(r1)>1:
  37. r2=row[2].strip()
  38. r3=row[3].strip()
  39. result.append({'kw':r1+" "+r2+" "+r3})
  40. return result
  41. result=get_sheets('引新聞xSEO團隊共用表單')
  42. js=json.dumps(result, ensure_ascii=False)
  43. print(js)
  44. r = redis.Redis(host='db.ptt.cx', port=6379, db=1,password='choozmo9')
  45. r.set('innews_sheet',js)
  46. # spread.df_to_sheet(df, index=False, sheet=tabname, start=startpos, replace=False)
  47. #