、およびプログラムの出力は次のようになります。リストにタプルにタプルの値にアクセスする[エラー]
[((1, ' '), 'E'), ((2, ' '), 'V'), ..., ((113, ' '), 'A')]
私がしようとしています番号を.csv
ファイルに保存するには、上記の短いセクションに示す空の文字列にアクセスするのに問題があります。これらの中には文字が入っているものもあり、文字列が空であるかどうかを確認する必要があります。これは私がこれを行うために書かれているコードです。この背後
with open(fileName + '.csv', 'wb') as myFile:
# sets wr to writer function in csv module
wr = csv.writer(myFile, quoting=csv.QUOTE_ALL)
# writes in headers
wr.writerow(headers)
# iterates through numbering
for row in numbering:
# gets to the innermost tuple
for tup in row:
# checks if the string contains a letter
if tup[1] != ' ':
# makes the number and letter a single string
numScheme = str(tup[0])+str(tup[1])
# creates a list of values to write
varList = [baNumbering,numScheme,row[1]]
wr.writerow(varList)
else:
# if the string does not contain a letter, the list of values is created without the string
varList = [baNumbering,tup[0],row[1]]
wr.writerow(varList)
baNumbering = baNumbering + 1
私の考えはfor row in numbering:
タプルを含むタプルに私を取得し、for tup in row:
は私が最も内側のタプルのインデックスをチェックすることが可能になるです。私はvarList
に、数字、数字の付いた文字(そしておそらく手紙付き)、そしてその文字(["1","1","E"]
または["30","29B","Q"]
)を含むリストにしたかったのです。しかし、エラーが表示されます:
Traceback (most recent call last):
File "NumberingScript.py", line 101, in <module>
Control()
File "NumberingScript.py", line 94, in Control
Num()
File "NumberingScript.py", line 86, in Num
SaveNumbering(numbering,numberingScheme)
File "NumberingScript.py", line 72, in SaveNumbering
WriteFile(numbering,numberingScheme,fileName)
File "NumberingScript.py", line 51, in WriteFile
if tup[1] != ' ':
IndexError: string index out of range
タプルの文字列にアクセスするには、より良い方法がありますか?私が見つけることができるすべてのリソースは、タプルのリストだけをカバーし、私がここにあるものと何をするべきかは言及していません。
は、より多くの特異性を持つ私の問題を指摘いただきありがとうございます。しかし、将来は回答セクションを使用して実際の回答を投稿し、コメントセクションを使用して回答ではない有用なコメントを投稿してください。エラーの原因となっている文字列ではなく、タプルだけにアクセスする方法を知っていますか? – MTJ