lllllinya 2024-10-22 09:55 采纳率: 66.7%
浏览 629

Matlab使用readtable函数报错

运行代码如下

filename = 'bnu084.xlsx';
data = readtable(filename);

报错如下:
错误使用 readtable (line 223)
PATTERN 必须为字符串标量或字符向量。

工作路径正确;xlsx文件内有两个工作表,各有三列数据,列名格式正确;检查filename数据类型为1*17char,符合要求的字符向量但还是报错;转化成字符串标量后仍然报错;使用2019b和2023b都报错

一周前在同一台电脑上使用过类似的代码读取xlsx文件可以运行,现在运行同段代码也报错,错误类型相同:
代码如下

file_path = 'E:\Mat_pupilpreee\pre\bnu034_RESPsorted.xlsx';
data = readtable(file_path);

求解决方案🙏

  • 写回答

2条回答 默认 最新

  • 小ᶻ☡꙳ᵃⁱᵍᶜ꙳ 优质创作者: 人工智能技术领域 2024-10-23 01:34
    关注

    回答引用自GPT-4o,由博主小ᶻZ࿆编写,若还有疑问可评论或留言:

    在Matlab中使用readtable函数时报错,提示PATTERN必须为字符串标量或字符向量,这里提供几个可能的解决方案:

    1. Excel插件问题

    如果你使用的是Windows系统,readtable 函数依赖于 Excel 的 COM 接口。可以尝试禁用 Excel 插件并改用基础的读取方法:

    data = readtable(filename, 'UseExcel', false);
    

    2. 文件路径问题

    确认文件路径是否正确,且路径中是否有中文或特殊字符。如果有,建议使用绝对路径并避免中文字符。

    3. 文件格式问题

    确保 .xlsx 文件没有损坏,并尝试手动打开 Excel 文件,检查是否存在特殊格式或合并单元格,导致读取失败。可以使用以下代码检查文件格式:

    opts = detectImportOptions(filename);
    data = readtable(filename, opts);
    

    4. 文件权限问题

    确保文件没有被占用或存在权限问题,可以尝试关闭其他使用该文件的程序。

    如有帮助,题主可以帮忙采纳一下嘛,谢谢~

    评论

报告相同问题?

问题事件

  • 创建了问题 10月22日