0
私は、スプレッドシートから情報を抽出し、autopyguiとopenpyxlを使ってLibreオフィスの作家でレポートとして提示するスクリプトを作成しようとしている初心者です。私の試み:原因 "COL" と "行" の形式に私は思うExcelを抽出する - beginner
> Traceback (most recent call last): File "a.output.py", line 30, in
> <module><br>
> pyautogui.typewrite(sheet[col, str(row)].value) File "/home/m/.local/lib/python3.5/site-packages/openpyxl/worksheet/worksheet.py",
> line 354, in __getitem__<br>
> min_col, min_row, max_col, max_row = range_boundaries(key) File "/home/m/.local/lib/python3.5/site-packages/openpyxl/utils/cell.py",<br>
> line 127, in range_boundaries<br>
> m = ABSOLUTE_RE.match(range_string) TypeError: expected string or bytes-like object<br>
> [email protected]:~/python-stuff/projects/04-Asistente
> corrección$ python3 a.output.py Traceback (most recent call last):
> File "a.output.py", line 30, in <module><br>
> pyautogui.typewrite(sheet[str(col), str(row)].value) File "/home/m/.local/lib/python3.5/site-packages/openpyxl/worksheet/worksheet.py",
> line 354, in __getitem__<br>
> min_col, min_row, max_col, max_row = range_boundaries(key) File "/home/m/.local/lib/python3.5/site-packages/openpyxl/utils/cell.py",
> line 127, in range_boundaries<br>
> m = ABSOLUTE_RE.match(range_string) <br> TypeError: expected string or bytes-like object<br>
は次のとおりです。
from subprocess import call
import openpyxl, pyautogui
call("libreoffice")
calcfile = "calcexample.xlsx"
pyautogui.hotkey('alt', 'tab') # focus on Writer
wb = openpyxl.load_workbook(calcfile) # open xml file
sheet = wb.get_sheet_by_name('Sheet1') # open sheet X, to print specific cells
print = ("Reading calc file...")
# trying to write cells as text in the doc
for row in range(2, sheet.max_row):
for col in range (2, 6):
pyautogui.typewrite(sheet[col, row].value)
pyautogui.typewrite('enter')
は、私はこのエラーを取得します。私はstr()を使用して結果を得ようとしませんでした。私はここでかなり基本的なものを見逃しているが、何が分からないのか分かっている。私の質問:
- エラーメッセージの処理方法。
- ファイルから直接読み書きすることはできますか、辞書に値を追加してそこから取得する方が効率的/優雅になりますか?
をトレースバックで完全なエラーメッセージを見て(そして私たちに見せてください)。このエラーがどこで発生したのかは明らかではありません。 –
エラーメッセージ全体を追加しました。 –