Excelシート上のデータが読み込めない

以下のコードを用いて,複数のシートを持つExcelファイルからMATLAB上へのデータの読み込みを試みました.
n = readmatrix("10000_L9061_R17165.xlsx","Sheet","process","Range","L1:L256");
ところが,「シート名 'process' が存在しないか、またはサポートされていません。シートがサポートされているかどうかをチェックするには、ワークシート インデックスでシートを指定してください。」というエラーメッセージが出てしまい,データを読み込むことができませんでした.
Excelファイル上に'process'のシートが存在しているのは何度も確認しましたし,以前は同様のコードで読み込むことができていたので,なぜ実行できなくなってしまったのかわかりません.
お心当たりのある原因と解決策についてご教授いただけると幸いです.
よろしくお願いいたします.

9 Comments

Dyuman Joshi
Dyuman Joshi on 30 Oct 2023
Could you please attach the excel file you are working with? Use the paperclip button to attach.
駿平
駿平 on 30 Oct 2023
I have attached it. Please check it out.
Dyuman Joshi
Dyuman Joshi on 30 Oct 2023
I can not seem to open the files. When I click on the excel file (to download it), a new tab opens which says - "An error occurred: unable to locate the file."
Does the file open in your PC? Can you access the contents of the file?
There is a chance that the file might be corrupted.
Atsushi Ueno
Atsushi Ueno on 5 Nov 2023
Edited: Atsushi Ueno on 5 Nov 2023
ありがちなパターンが「今自分が編集している 10000_L9061_R17165.xlsx とは別の(パスが通っている)場所にも同名の 10000_L9061_R17165.xlsx が存在して、readmatrix 関数は自分の見ているファイルとは異なるファイルを読みに行っている可能性」ですね。
駿平
駿平 on 6 Nov 2023
パスに追加している10000_L9061_R17165.xlsxを開くと,現在編集中のファイルと同じものを開けるのですが,実は別のものになっているかも知れないということですね.
確認してみます.
駿平
駿平 on 6 Nov 2023
確認しましたが,パスを通している10000_L9061_R17165.xlsxは1つしかなさそうでした.
関連フォルダもすべてパスを通しており,10000_L9061_R17165.xlsxを右クリックして外部で開いても,正しく開けます.どこが引っかかっているのかわかりません..
駿平
駿平 on 6 Nov 2023
Edited: 駿平 on 6 Nov 2023
改めて確認しましたところ,画像のように大きいフォルダから順にパスに追加していくと,読み取ることができないようです.
「10000_L9061_R17165」のフォルダのみを追加していると,読み取ることができました.
「加工時,再締結時」というフォルダまで通すことはできたのですが,「左右差」というフォルダを通すと読み取れなくなります.
パスに追加したフォルダ数が多すぎるということなのでしょうか?
フォルダ階層が深過ぎるという事は無く、その前に文字数制限で引っ掛かります。2バイト文字の文字コード関連の問題もよくありますが、上記はいずれもファイル名のエラーとなるはずで、今回はシート名のエラーです。🤔ワカラン
上記質問は「日付フォーマットが含まれるシート名を除くと問題が解消した」様ですが、本問題には該当しません。
再現するかと思って試してみましたが、このサーバはLinuxなのでWindows固有の問題の場合は再現出来ないです。
一番怪しいのは下記のように長すぎるパス名(260文字)でしょう。
mkdir ./寿限無寿限無五劫のすりきれ海砂利水魚の水行末雲来末風来末食う寝るところに住むところやぶらこうじのぶらこうじパイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助/左右差/加工時,再締結時/再締結時左右差限界/10000_L17165_R9061
Error using mkdir
File name too long
movefile 10000_L9061_R17165.xlsx ./寿限無寿限無五劫のすりきれ海砂利水魚の水行末雲来末風来末食う寝るところに住むところやぶらこうじのぶらこうじパイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助/左右差/加工時,再締結時/再締結時左右差限界/10000_L17165_R9061
sheets = sheetnames("./寿限無寿限無五劫のすりきれ海砂利水魚の水行末雲来末風来末食う寝るところに住むところやぶらこうじのぶらこうじパイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助/左右差/加工時,再締結時/再締結時左右差限界/10000_L17165_R9061/10000_L9061_R17165.xlsx")
駿平
駿平 on 8 Nov 2023
ご検討いただきありがとうございます.
添付していただいた,類似の質問の場合とまったく同じエラーが出ていました.形式の違いは関係があるかも知れないので,時間があるときに試してみます.
現在はフォルダを行ったり来たりしながらなんとか実行できているため,しばらくこの方法でやっていきます.

Sign in to comment.

Answers (1)

Akira Agata
Akira Agata on 31 Oct 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)
-0.0822 -0.3774 0.3939 0.2312 0.1312 0.0820 0.0951 0.1579 0.2700 0.4146 -0.3755 -0.1298 0.1282 0.4168 -0.2592 0.0723 0.4127 -0.2290 0.1051 0.4488 -0.2094 0.1023 0.3661 -0.3634 -0.1608 -0.0406 0.0315 0.0576 0.0022 -0.1338 -0.3897 0.2262 -0.2302 0.1389 0.3851 -0.4231 0.4264 0.2257 -0.1343 0.2154 0.3509 0.3785 0.1481 -0.2850 -0.0809 -0.1371 -0.3926 -0.0246 0.0295 -0.1663 0.1287 0.1745 -0.0818 0.1396 0.0611 -0.3073 -0.2720 0.3547 0.4938 -0.1241 -0.0878 -0.1070 -0.1709 0.4180 0.2467 0.0561 -0.0062 0.2591 0.2362 -0.1499 -0.0674 -0.3490 -0.0870 -0.1282 0.3854 -0.1576 -0.2048 0.3739 -0.1854 -0.0628 -0.2003 0.3034 -0.2523 -0.1624 -0.2313 0.4112 -0.0301 0.2932 -0.4357 -0.3961 0.4246 0.2255 -0.0981 0.3701 -0.1588 0.1508 0.4182 -0.3659 -0.2294 -0.1741 -0.1651 -0.2025 -0.2550 -0.3241 -0.4105 0.4498 0.3593 0.2527 0.1561 0.0698 0.0160 -0.0265 -0.0362 0.0046 0.0608 0.1836 0.3404 -0.4439 -0.1748 0.1452 -0.4675 -0.0231 0.4848 0.0640 -0.2891 0.4262 0.2130 0.0708 0.0003 0.0016 0.0745 0.2189 0.4335 -0.2813 0.0691 0.4887 -0.0259 -0.4777 0.1265 -0.2000 -0.4749 0.2740 0.0973 -0.0281 -0.1381 -0.1975 -0.2241 -0.2173 -0.1989 -0.1702 -0.1313 -0.1086 -0.0761 -0.0317 -0.0323 -0.0497 -0.0822 -0.1610 -0.2862 -0.4571 0.2584 -0.0399 -0.4172 0.0442 0.4203 -0.2355 -0.0606 -0.0509 -0.1167 -0.3443 0.1480 -0.3563 -0.1449 -0.1455 -0.3050 0.1813 -0.3386 -0.2696 -0.4052 0.0867 0.3170 0.2909 0.0147 0.2340 0.2639 -0.0697 0.1404 -0.0138 0.3656 0.3835 0.0483 0.3105 -0.2486 -0.1523 -0.1159 -0.1185 0.5315 -0.2687 0.2828 0.0773 -0.3504 0.3662 -0.0927 -0.0213 -0.3142 -0.1295 -0.1860 0.2472 0.3776 0.3161 -0.0612 0.1268 0.1155 -0.1560 0.2626 0.4245 0.3794 0.1745 -0.2447 0.0457 0.2239 0.1920 0.0417 -0.2310 0.2321 -0.2865 -0.0195 0.1688 0.2373 0.2250 0.1676 0.0267 -0.1622 -0.4005 0.2590 -0.0746 -0.4264 0.1322 -0.2538 0.3060 -0.0879 0.4717 0.0952 -0.2956 0.3238 -0.0021 -0.2975 0.4234 0.2096 0.0284 -0.1036 -0.1858 -0.2056 -0.1747 -0.0720 0.0835

9 Comments

Dyuman Joshi
Dyuman Joshi on 31 Oct 2023
It seems to be working now. And I can download the file as well.
Which makes me think that there was some problem with the file uploaded before.
駿平
駿平 on 4 Nov 2023
お返事が遅くなってしまい申し訳ありません.
2023aのバージョンを使っておりました.
こちらの1行だけですと読み取ることができたのですが,同じExcelファイル上の異なるシートから新たにデータを読み込もうとするとエラーとなってしまうことがあります.
ファイルを作り直すと読み込めるようになりますが,同じMATLAB上で何度か実行していると,読み込めなくなったりします.
現在は都度作り直していますが,今後MATLABを使う機会が増えると非常に厄介だと感じております...
Dyuman Joshi
Dyuman Joshi on 5 Nov 2023
But there is only 1 sheet in the excel file you have attached.
Have you attached the correct file?
What error occurs when you try read new data?
駿平
駿平 on 5 Nov 2023
私の大学での研究内容を多く含んだファイルになってしまうため,一部のみをアップロードしていました.すみません.
こちらに元のファイルを追加します.何度もすみません.
横やり失礼いたします。差替ファイルでもやはり読み込みに成功しますね。
filePath = "https://jp.mathworks.com/matlabcentral/answers/uploaded_files/1530132/10000_L9061_R17165.xlsx";
n = readmatrix(filePath,Sheet="process",Range="L1:L256");
disp(n);
-0.0822 -0.3774 0.3939 0.2312 0.1312 0.0820 0.0951 0.1579 0.2700 0.4146 -0.3755 -0.1298 0.1282 0.4168 -0.2592 0.0723 0.4127 -0.2290 0.1051 0.4488 -0.2094 0.1023 0.3661 -0.3634 -0.1608 -0.0406 0.0315 0.0576 0.0022 -0.1338 -0.3897 0.2262 -0.2302 0.1389 0.3851 -0.4231 0.4264 0.2257 -0.1343 0.2154 0.3509 0.3785 0.1481 -0.2850 -0.0809 -0.1371 -0.3926 -0.0246 0.0295 -0.1663 0.1287 0.1745 -0.0818 0.1396 0.0611 -0.3073 -0.2720 0.3547 0.4938 -0.1241 -0.0878 -0.1070 -0.1709 0.4180 0.2467 0.0561 -0.0062 0.2591 0.2362 -0.1499 -0.0674 -0.3490 -0.0870 -0.1282 0.3854 -0.1576 -0.2048 0.3739 -0.1854 -0.0628 -0.2003 0.3034 -0.2523 -0.1624 -0.2313 0.4112 -0.0301 0.2932 -0.4357 -0.3961 0.4246 0.2255 -0.0981 0.3701 -0.1588 0.1508 0.4182 -0.3659 -0.2294 -0.1741 -0.1651 -0.2025 -0.2550 -0.3241 -0.4105 0.4498 0.3593 0.2527 0.1561 0.0698 0.0160 -0.0265 -0.0362 0.0046 0.0608 0.1836 0.3404 -0.4439 -0.1748 0.1452 -0.4675 -0.0231 0.4848 0.0640 -0.2891 0.4262 0.2130 0.0708 0.0003 0.0016 0.0745 0.2189 0.4335 -0.2813 0.0691 0.4887 -0.0259 -0.4777 0.1265 -0.2000 -0.4749 0.2740 0.0973 -0.0281 -0.1381 -0.1975 -0.2241 -0.2173 -0.1989 -0.1702 -0.1313 -0.1086 -0.0761 -0.0317 -0.0323 -0.0497 -0.0822 -0.1610 -0.2862 -0.4571 0.2584 -0.0399 -0.4172 0.0442 0.4203 -0.2355 -0.0606 -0.0509 -0.1167 -0.3443 0.1480 -0.3563 -0.1449 -0.1455 -0.3050 0.1813 -0.3386 -0.2696 -0.4052 0.0867 0.3170 0.2909 0.0147 0.2340 0.2639 -0.0697 0.1404 -0.0138 0.3656 0.3835 0.0483 0.3105 -0.2486 -0.1523 -0.1159 -0.1185 0.5315 -0.2687 0.2828 0.0773 -0.3504 0.3662 -0.0927 -0.0213 -0.3142 -0.1295 -0.1860 0.2472 0.3776 0.3161 -0.0612 0.1268 0.1155 -0.1560 0.2626 0.4245 0.3794 0.1745 -0.2447 0.0457 0.2239 0.1920 0.0417 -0.2310 0.2321 -0.2865 -0.0195 0.1688 0.2373 0.2250 0.1676 0.0267 -0.1622 -0.4005 0.2590 -0.0746 -0.4264 0.1322 -0.2538 0.3060 -0.0879 0.4717 0.0952 -0.2956 0.3238 -0.0021 -0.2975 0.4234 0.2096 0.0284 -0.1036 -0.1858 -0.2056 -0.1747 -0.0720 0.0835
Dyuman Joshi
Dyuman Joshi on 5 Nov 2023
@駿平, you do not need to apologise for that.
Could you please tell which sheet is giving you the error when you try to read data?
Also, could you copy and paste the error message you get (that means all of the red text) ?
駿平
駿平 on 6 Nov 2023
processとreberationの2つのシートから1行ずつ読み取りたいのですが,片方だけうまくいったり,両方うまくいかなかったりします.
エラーメッセージは以下の通りです.
「次を使用中のエラー: readmatrix
シート名 'process' が存在しないか、またはサポートされていません。シートがサポートされているかどうかをチェックするには、ワークシートインデックスでシートを指定してください。」
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]);
-0.0822 7.0381 -0.3774 7.2807 0.3939 7.5931 0.2312 7.9674 0.1312 8.4148 0.0820 8.9013 0.0951 8.4727 0.1579 9.0716 0.2700 8.7319 0.4146 9.4118 -0.3755 10.1390 -0.1298 9.9352 0.1282 10.7036 0.4168 10.5455 -0.2592 11.3727 0.0723 11.2355 0.4127 12.0762 -0.2290 11.9580 0.1051 12.7855 0.4488 12.6613 -0.2094 13.4467 0.1023 13.2583 0.3661 14.0017 -0.3634 13.7820 -0.1608 14.4229 -0.0406 15.0103 0.0315 14.6147 0.0576 15.0664 0.0022 15.4689 -0.1338 15.7866 -0.3897 15.9800 0.2262 16.0905 -0.2302 16.9813 0.1389 16.8432 0.3851 17.4783 -0.4231 17.1001 0.4264 17.4913 0.2257 17.6681 -0.1343 18.5985 0.2154 18.4427 0.3509 18.9876 0.3785 19.3684 0.1481 19.4845 -0.2850 19.4460 -0.0809 19.9837 -0.1371 20.3110 -0.3926 20.4347 -0.0246 20.2467 0.0295 20.6747 -0.1663 20.7886 0.1287 21.4466 0.1745 21.7892 -0.0818 21.8236 0.1396 21.6215 0.0611 21.8285 -0.3073 22.4948 -0.2720 22.8609 0.3547 22.8041 0.4938 23.3367 -0.1241 23.1089 -0.0878 23.5320 -0.1070 23.8978 -0.1709 24.2141 0.4180 23.7660 0.2467 23.9687 0.0561 24.1504 -0.0062 24.5884 0.2591 24.4616 0.2362 24.6608 -0.1499 25.3941 -0.0674 24.9273 -0.3490 24.9902 -0.0870 25.5940 -0.1282 25.8305 0.3854 25.8145 -0.1576 26.3512 -0.2048 25.7567 0.3739 26.6000 -0.1854 26.3580 -0.0628 26.7403 -0.2003 26.8606 0.3034 26.8214 -0.2523 27.3707 -0.1624 26.8986 -0.2313 27.0726 0.4112 27.1295 -0.0301 27.8494 0.2932 27.5219 -0.4357 27.9582 -0.3961 27.3315 0.4246 27.4743 0.2255 28.4418 -0.0981 28.3376 0.3701 28.1865 -0.1588 27.8664 0.1508 28.4214 0.4182 27.9629 -0.3659 28.3829 -0.2294 28.7184 -0.1741 28.9709 -0.1651 28.2607 -0.2025 28.4743 -0.2550 28.6365 -0.3241 28.7491 -0.4105 28.8705 0.4498 28.9710 0.3593 29.0516 0.2527 29.1389 0.1561 29.2321 0.0698 29.3537 0.0160 29.4597 -0.0265 29.6147 -0.0362 28.7950 0.0046 28.9846 0.0608 29.2207 0.1836 29.4865 0.3404 28.8086 -0.4439 29.1786 -0.1748 29.5821 0.1452 29.0613 -0.4675 29.5809 -0.0231 29.1625 0.4848 28.8015 0.0640 29.5063 -0.2891 29.2740 0.4262 29.1062 0.2130 29.0043 0.0708 28.9692 0.0003 29.0010 0.0016 29.1001 0.0745 29.2663 0.2189 28.4994 0.4335 28.7980 -0.2813 29.1609 0.0691 28.5915 0.4887 29.0761 -0.0259 28.6296 -0.4777 28.2420 0.1265 28.8946 -0.2000 28.6104 -0.4749 28.3854 0.2740 28.1919 0.0973 28.0591 -0.0281 27.9562 -0.1381 27.8811 -0.1975 27.8330 -0.2241 27.8325 -0.2173 27.8394 -0.1989 27.8517 -0.1702 27.8927 -0.1313 27.9143 -0.1086 26.9767 -0.0761 27.0118 -0.0317 27.0262 -0.0323 27.0197 -0.0497 26.9615 -0.0822 26.9145 -0.1610 26.7840 -0.2862 26.6358 -0.4571 26.4026 0.2584 26.1196 -0.0399 25.7893 -0.4172 26.2589 0.0442 25.7588 0.4203 26.0502 -0.2355 25.3460 -0.0606 25.4259 -0.0509 25.3792 -0.1167 25.2082 -0.3443 24.8698 0.1480 25.2933 -0.3563 24.6681 -0.1449 24.7531 -0.1455 24.6711 -0.3050 24.3754 0.1813 23.9209 -0.3386 24.1065 -0.2696 24.0786 -0.4052 23.7871 0.0867 23.2921 0.3170 23.4202 0.2909 23.2303 0.0147 22.7852 0.2340 22.9511 0.2639 22.7429 -0.0697 22.2883 0.1404 22.3116 -0.0138 22.0295 0.3656 21.4513 0.3835 21.3419 0.0483 21.5567 0.3105 21.4076 -0.2486 21.3829 -0.1523 21.3370 -0.1159 20.5280 -0.1185 20.3689 0.5315 20.1615 -0.2687 19.8966 0.2828 20.2831 0.0773 19.9098 -0.3504 19.1791 0.3662 18.9679 -0.0927 19.1554 -0.0213 18.9853 -0.3142 18.5759 -0.1295 18.5773 -0.1860 18.3354 0.2472 17.7801 0.3776 17.7718 0.3161 17.4513 -0.0612 16.9290 0.1268 16.9672 0.1155 16.7469 -0.1560 16.3185 0.2626 16.4691 0.4245 16.4672 0.3794 16.2031 0.1745 15.8273 -0.2447 15.1840 0.0457 15.2958 0.2239 15.2443 0.1920 15.0268 0.0417 14.6417 -0.2310 14.1324 0.2321 13.4962 -0.2865 13.6811 -0.0195 13.7031 0.1688 12.7271 0.2373 12.5809 0.2250 12.3501 0.1676 12.0341 0.0267 11.6684 -0.1622 11.2165 -0.4005 11.6569 0.2590 11.1387 -0.0746 10.5364 -0.4264 10.8988 0.1322 10.2586 -0.2538 9.5974 0.3060 9.8803 -0.0879 9.2086 0.4717 8.5424 0.0952 8.8548 -0.2956 8.2029 0.3238 7.5587 -0.0021 7.9247 -0.2975 7.3419 0.4234 6.7892 0.2096 6.2679 0.0284 6.7841 -0.1036 6.3619 -0.1858 5.9757 -0.2056 5.6535 -0.1747 5.3939 -0.0720 5.1962 0.0835 5.0448
駿平
駿平 on 6 Nov 2023
ありがとうございます.
素人でよくわかっていませんが,画面左側の「現在のフォルダー」の中に該当ファイルは入っており,右クリックでファイルを開いても,うまく開くことができます.関連フォルダもすべてパスに追加しているため,ファイル自体が存在しないようになってしまうのがなぜなのかわかりません.

Sign in to comment.

Products

Release

R2023a

Asked:

on 30 Oct 2023

Commented:

on 8 Nov 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!