質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3244閲覧

【Python】TypeError: list indices must be integers or slices, not Textの対処について

solanin

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/01 10:08

編集2021/12/02 00:05

#<使用言語>
Python
#<環境>
VScode

#<質問内容>
以下の実装しているコードで実行すると”TypeError: list indices must be integers or slices, not Text”というエラーが発生します。
エラーメッセージの内容はテキストではなく整数かスライスにしてくださいとのことかと思いますが、
エラーメッセージの内容を理解してもどこを修正したらいいのかわからないので質問させていただきました。
<エラーメッセージ原文>
[sg.InputText(default_text ='', size = (100, 1), key = 'InputFilePath'),
TypeError: list indices must be integers or slices, not Text

#<エラー該当コード>
sg.Button("InputPath", size = (15, 1), key = "search_input")]

#<実装コード>

# ■ ライブラリをインポート import PySimpleGUI as sg from urllib.request import urlopen # urllib.requestモジュールをインポート from bs4 import BeautifulSoup # BeautifulSoupクラスをインポート import openpyxl # Excelを操作するライブラリをインポート from tkinter import filedialog # ■ 変数定義 dir = 'C:' # ■ 関数定義 def get_filepath(): fld = filedialog.askdirectory(initialdir = dir) return fld # ■ ウィンドウデザインのテーマを設定 sg.theme("Dark Blue 3") # ■ レイアウト設定 # InputfileとOutputfileの設定 LIO = [[sg.Text("Inputとなるファイルパスを指定してください")], [sg.InputText(default_text ='', size = (100, 1), key = 'InputFilePath'), sg.Button("InputPath", size = (15, 1), key = "search_input")] [sg.Text("")], [sg.Text("OutputとなるExcelのファイルパスを指定してください")], [sg.InputText(default_text ='', size = (100, 1), key = 'OutputFilePath'), sg.Button("OutputPath", size = (15, 1), key = "search_output")] [sg.Text("")] ] # ■ レイアウト定義 layout = [ [sg.Text("Arxmlを解析してExcelにパラメータ一覧を出力する。", font=('IPA ゴシック' ,24))], [sg.Text("")], [sg.Frame("ファイルパスの設定", LIO)], [sg.Text("")], [sg.Text("ファイルパスの設定が完了したら以下の解析開始ボタンを押下")], [sg.Submit(button_text="解析開始")] ] window = sg.Window("ArxmlParseTool", layout) # ■ メイン処理 while True: event, values = window.read() if event == "search_input": pass if event == "search_output": pass if event == "解析開始":     pass if event is None: print("exit") break # ■ ウィンドウを破棄して終了 window.close()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/12/01 22:36

Pythonはインデントが重要です。今のままだと分かりにくくて低評価-1とされかねません。 <CODE>で表示される記号の内側にPythonのコード一式をしまってください。 見やすければ回答ももらいやすくなります。
solanin

2021/12/02 00:12 編集

Pythonはインデントが重要なのはその通りですです。 ご指摘ありがとうございます。 記載したコードを<CODE>の中に格納しました。
guest

回答1

0

ベストアンサー

コンマ(,)が抜けているようです、下記のように2箇所コンマを付け足してみて下さい。

sg.Button("InputPath", size = (15, 1), key = "search_input")],
sg.Button("OutputPath", size = (15, 1), key = "search_output")],

投稿2021/12/03 02:03

coffeebar

総合スコア140

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

solanin

2021/12/16 02:42

上記回答で解決できました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問