私はPythonには新しく、これを数日間作業しています。私は9つのExcelファイルを持っています。私はループしていて、パンダのデータフレームを作成しています。if文を使用したPython forループ:TypeError:文字列インデックスは整数でなければなりません
9つのxls_fileのデータフレームの各々は、これらの列がある: コード、date_pub(各xls_file内で均一が、各xls_file間で一意である)、years_q ...
私の他のデータフレームが呼び出されます見積もりこれは、これらの列を持つ単一のデータフレームです: REL、EST、date_pub(ユニークである)
私の目標は、
(AR_41、AR_42、DG_44、DG_46)という名前の4つのパンダのデータフレームを作成することですデータフレームは、「見積もり」に非常によく似ていますが、私はこのエラーを取得しています同じdate_pub
x=0
for x in range(1, 9):
xls_file = pd.ExcelFile('Data' + str(x) + '.xls')
final_data = estimate
for row in estimate:
for innerrow in xls_file:
if innerrow['date_pub'] == row['date_pub']:
final_data['value'].append(row.ix[:,-1])
で与えられたxls_fileの最後の列に等しい追加の列という名前の値を持っているでしょう。チェックする際に「文字列のインデックスは整数でなければなりません」:
if innerrow['date_pub'] == row['date_pub']:
私は分かりませんが、 'append(row.ix [:: - 1])'を意味しましたか? – enedil
AFAIK行は配列です。配列は、文字列ではなく整数で索引付けされます。おそらくExcelFileにはヘッダーを考慮してファイルを解析する方法がありますが、指定していないので、単純な配列になります。 –
また、あなたは '推定値 'をどのように埋め込んだのかを示していませんでした。おそらく同じ問題です。 –