私はプログラミングの初心者です。私はGFSreadsheetsで同様の効果を達成しようとしています。これは、.xlsファイル(openpyxlライブラリ)で実現しました。これは、単純なリマインダーボットの一部であり、.xlsやスプレッドシートの日付の7日前にリマインダー(Slackチャンネル)に通知します。 Excelの例と私のコードサンプル:私はGSpreadアクションにコードを変更することができたGoogleスプレッドシートの反復処理 - ループの作成方法
def excel_check():
zakres = datetime.timedelta(days = 7)
dzisiaj = (datetime.date.today() + zakres)
miesiac = dzisiaj.month
rok = dzisiaj.year
dzien = dzisiaj.day
data_check = datetime.datetime(rok, miesiac, dzien, 0, 0, 0)
wb = load_workbook(filename = "daty.xlsx", data_only = True)
ws = wb.get_sheet_by_name("sheet1")
cell_range = ws["B2":"B25"]
for row in cell_range:
for cell in row:
if cell.value == data_check:
imie = ws.cell(row=cell.row, column=1).value
dzial = ws.cell(row=cell.row, column=3).value
typ_umowy = ws.cell(row=cell.row, column=4).value
przelozony = ws.cell(row=cell.row, column=5).value
AND HERE WE'RE PERFORMING SLACK/API MESSAGE WITH STRINGS ABOVE (imie, dzial, typ_umowy)
:
def excel_check():
zakres = datetime.timedelta(days = 7)
dzisiaj = (datetime.date.today() + zakres)
miesiac = dzisiaj.month
rok = dzisiaj.year
dzien = dzisiaj.day
data_check = datetime.datetime(rok, miesiac, dzien, 0, 0, 0)
scope = ["https://spreadsheets.google.com/feeds"]
credentials = ServiceAccountCredentials.from_json_keyfile_name("validcredentialsitworks", scope)
gc = gspread.authorize(credentials)
wks = gc.open_by_url("myurl").sheet1
cell_range = wks.range("B2:B25")
for row in cell_range:
for cell in row:
if cell.value == data_check:
imie = wks.cell(row=cell.row, column=1).value
dzial = wks.cell(row=cell.row, column=3).value
typ_umowy = wks.cell(row=cell.row, column=4).value
AND HERE WE'RE PERFORMING SLACK/API MESSAGE WITH STRINGS ABOVE (imie, dzial, typ_umowy)
しかし残念ながら、それは上記のExcelの一部のように作用していないが(Excelが一部の送信しますスラックへの適切なメッセージ、GSpreadの部分はありません)。私は、エラーメッセージを持っている:
TypeError: 'Cell' object is not iterable
あなたが私にヒントを与えてくださいでしたそれはおそらく構文と間違って何かが、私は何を見つけることができません:(
では?短い、同等のものです:?GSpreadで
for row in cell_range:
for cell in row:
print cell.value
あなた質問には答えましたが、私はあなたの変数の名前をちょっと残しておきたいと思います。 –