Excelシート上のデータが読み込めない
46 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
以下のコードを用いて,複数のシートを持つExcelファイルからMATLAB上へのデータの読み込みを試みました.
n = readmatrix("10000_L9061_R17165.xlsx","Sheet","process","Range","L1:L256");
ところが,「シート名 'process' が存在しないか、またはサポートされていません。シートがサポートされているかどうかをチェックするには、ワークシート インデックスでシートを指定してください。」というエラーメッセージが出てしまい,データを読み込むことができませんでした.
Excelファイル上に'process'のシートが存在しているのは何度も確認しましたし,以前は同様のコードで読み込むことができていたので,なぜ実行できなくなってしまったのかわかりません.
お心当たりのある原因と解決策についてご教授いただけると幸いです.
よろしくお願いいたします.
9 Kommentare
Atsushi Ueno
am 6 Nov. 2023
フォルダ階層が深過ぎるという事は無く、その前に文字数制限で引っ掛かります。2バイト文字の文字コード関連の問題もよくありますが、上記はいずれもファイル名のエラーとなるはずで、今回はシート名のエラーです。🤔ワカラン
上記質問は「日付フォーマットが含まれるシート名を除くと問題が解消した」様ですが、本問題には該当しません。
再現するかと思って試してみましたが、このサーバはLinuxなのでWindows固有の問題の場合は再現出来ないです。
一番怪しいのは下記のように長すぎるパス名(260文字)でしょう。
mkdir ./寿限無寿限無五劫のすりきれ海砂利水魚の水行末雲来末風来末食う寝るところに住むところやぶらこうじのぶらこうじパイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助/左右差/加工時,再締結時/再締結時左右差限界/10000_L17165_R9061
movefile 10000_L9061_R17165.xlsx ./寿限無寿限無五劫のすりきれ海砂利水魚の水行末雲来末風来末食う寝るところに住むところやぶらこうじのぶらこうじパイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助/左右差/加工時,再締結時/再締結時左右差限界/10000_L17165_R9061
sheets = sheetnames("./寿限無寿限無五劫のすりきれ海砂利水魚の水行末雲来末風来末食う寝るところに住むところやぶらこうじのぶらこうじパイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助/左右差/加工時,再締結時/再締結時左右差限界/10000_L17165_R9061/10000_L9061_R17165.xlsx")
Antworten (1)
Akira Agata
am 31 Okt. 2023
MATLAB R2023bでは以下のように問題なく読み取ることができました。
お使いの MATLAB バージョンはどれになりますでしょうか?
filePath = "https://jp.mathworks.com/matlabcentral/answers/uploaded_files/1524651/10000_L9061_R17165.xlsx";
n = readmatrix(filePath, ...
"Sheet", "process", ...
"Range", "L1:L256");
disp(n)
9 Kommentare
Akira Agata
am 6 Nov. 2023
processとliberationの2つのシートから、それぞれL列とJ列(L列が無かったため)を取得してみましたが、やはり問題ないようです。
@Atsushi Ueno さんのコメントの通り、Excelのファイルパスが合ってるかどうか、いま一度ご確認頂けないでしょうか。
filePath = "https://jp.mathworks.com/matlabcentral/answers/uploaded_files/1530132/10000_L9061_R17165.xlsx";
n1 = readmatrix(filePath,Sheet="process",Range="L1:L256");
n2 = readmatrix(filePath,Sheet="liberation",Range="J1:J256");
disp([n1, n2]);
Siehe auch
Kategorien
Mehr zu MATLAB の Python ライブラリ finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!