Python3でpandasを使ってExcelデータを取得し、それを最終的にflaskを使ってhtmlのテーブルリストに表示しようとしています。
発生した問題
pandasでExcelデータを取得しようとした、までは全然難しくなかったのですが、取り込んだデータに対し、配列に入れようとしても先頭行の値しか取得できません。
py
1# coding: UTF-8 2 3#Flaskを呼び出す(html表示用のマイクロフレームワーク) 4from flask import Flask, render_template 5import pandas as pd 6app = Flask(__name__) 7 8#Excelファイルの取り込み 9filename = "C:\Python\test.xlsx" 10xlsdata = pd.read_excel(filename, sheet_name=0, encoding='utf8',userows=[0,1,2]) 11print(xlsdata) 12data = xlsdata 13for (row) in data: 14 print(row) 15 16#…後略… 17
ここでデバッグした結果が、以下のコンソールで、下のExcel表と比較してもヘッダしか読み込んでくれていません。
読み込もうとしているテスト用Excel(test.xlsx)は以下のデータを持っています。
しかも、forで分割する前は全部のデータは持っているようです。
#やってみたこと
###forの二重ループ
print(len(xlsdata))とすると2と出たので、2つのインデックスを持っていると思い、for文を入れ子構造にして出力してみました。
結果、ヘッダ部分の文字が1文字ずつに分割されただけでした。
###splitで分割してみた
改行コードで途切れてしまったのかと思い、xlsdata.split('\n')としてみました。
結果、エラーが表示されただけでした。
###明示的にインデックスを入れてみた
print(xlsdata[1])とか
print(xlsdata[1][1])とか明示的にインデックスを入れてみました。
結果、エラーが表示されただけでした。
また、いろんなページを巡回してみたのですが、どうも取得のことしか触れておらず、そこからどのように代入していくのかが全く書かれていません。
引き続き調査中ではありますが、解決法を教えて下さい。なお、flaskを使ったhtmlへの出力方法はわかっているので、今回は質問キーワードにFlaskは入れていません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/28 08:27