我怎么跳过一个文件给一个错误当使用fileDatastore pdf文档遍历一个文件夹?

2视图(30天)
我挖掘文本从几千pdf文件到一个文件夹中使用文本分析工具。我用fileDatastore循环。一些pdf加密,这与extractFileText给了一个错误。我已经添加了一个 试,抓 段跳过这些文件,但是当它回到捕获错误 试一试 并再次读取相同的文件。循环永远不会结束。我怎么增加计数器,这样它将过去错误的文件吗?这是部分代码:
fds = fileDatastore (“文件* . pdf”,“ReadFcn”,@extractFileText);
hasdata (fds)
%提取和文本做准备
试一试%准备锁pdf等错误
文本=阅读(fds);%这是发生错误的地方
disp (“加密的pdf”);
继续
结束
文本= erasePunctuation(文本);
%等。(其他文本解析)
结束

接受的答案

艾伦
艾伦 2019年1月12日
我想出来。的 语句就是移动文件指针,如果它给了一个错误,那么指针保持不动。我解决了这个问题通过阅读功能 fileparts 获得的文件名,然后使用 试,抓 extractFileText 在该文件中。

答案(1)

艾伦
艾伦 2020年7月28日
fileparts 是一个Matlab函数,解析出的部分文件名。它是当执行 是执行。这是工作的代码。 信息 包含文件名部分。我测试的名称是否有效 试一试
%首先做一个结构来保存文件。
fds = fileDatastore (“GQquads / *《GQ》* . pdf”,“ReadFcn”,@fileparts);
%遍历文件
hasdata (fds)
%读下一个条目
[~,信息]=阅读(fds);
%测试是否有效文件(你能提取文件名吗?)
试一试
文本= extractFileText (info.Filename);
%显示错误的文件的名称
info.Filename
继续
结束
num = info.Filename;
num = extractBetween (num,“- - -”,“。”);
全国矿工工会
num = (num num);
%(文本准备)
结束

类别

找到更多的在文件操作帮助中心文件交换

标签

下载188bet金宝搏


释放

R2018b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!