Find text in a variable which contains texts and numbers
이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
이전 댓글 표시
I read a csv file and store the data in a variable with the readtable command. This variable contains both text and numbers. How I could find the row of specific text?
채택된 답변
Image Analyst
2015년 11월 26일
You could use ismember on the column of text, something like
loc = ismember(yourTable(:, 3), 'sometext');
if your text is in column 3. It will return the row the search text is in.
댓글 수: 11
I tried but I got this error
Error using table/ismember (line 29)
A and B must both be tables
Right, parenthese give a column that's still a table. You need to extract the column contents using braces:
loc = ismember(yourTable{:, 3}, 'sometext');
Try that and get back to me. If that doesn't work I'll have to program up a full demo instead of tossing stuff off the top of my head. Attach your data so I can use it.
Kelly Kyriakou
2015년 11월 26일
편집: Stephen23
2015년 11월 26일
This works perfectly! Thank you very much! Should I ask something more? I noticed that the stored variable doesn't have as many rows as the csv. Csv has 30770 rows with data and the stored variable has 12637. Is there any limita boust storage capacity of a variable?
If the original question was answered, then the questioner can click the "Accept" this answer, unless you want to wait for alternative solutions.
That shouldn't be. readtable() does not limit what it pulls from a CSV file as far as I know. Anyway, your tables are tiny. Something else must be going on. Attach your CSF file, if you can. If it's too big, then just chop off everything after 13,000 lines and try to post a truncated version.
I am sorry for forgeting accept the answer. I am attaching the csv which I want to read and it is produced by an other external software
This is not a csv file as MATLAB expects it. It's line format varies quite a bit from line to line. You may have to do a line-by-line parsing of this to pull out the correct section. I just did some code for someone that did that. But it needs to be highly customized for the particular stuff in your file.
So, the reason that doesn't read all the rows is that the line format varies from line to line? What I can do?
"It needs to be highly customized for the particular stuff in your file." In other words, you need to write custom code for this unusual format.
I converted the csv file to xlsx and try to read in matlab. It reads all the rows (30770) using both xlsread command and readtable command
Kelly, does that mean that your problem is solved?
yes!
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Text Files에 대해 자세히 알아보기
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
