[其他] 讀取含有逗號等標點符號的CSV檔

看板MATLAB作者 (HenryLin123)時間7年前 (2017/06/12 23:09), 編輯推噓4(406)
留言10則, 4人參與, 最新討論串1/1
我有一個.CSV檔格式如下 id tags text 0 ABC DEF ghj,dd. 1 OKG RRF dd!xx?aa, bb cd. 如果我想要把text裡面的標點符號全部刪掉,然後一個一個單字讀取的話該呼叫何種函數? 或著我先開excel把標點符號都先去掉嗎? 另外想問如果每行數量不一的話,函數要怎麼打,目前我查到用textread,但是不確定該怎麼用才對。 感謝各位了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.243.32 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1497280197.A.6C2.html

06/13 03:22, , 1F
mat2cell(s,1,diff([0,find(s==','),numel(s)]))
06/13 03:22, 1F

06/13 03:23, , 2F
很無聊的試了一下,s是逗點分隔字串,輸出為cell陣列
06/13 03:23, 2F

06/13 19:12, , 3F
感謝 我等等試試看
06/13 19:12, 3F

06/13 21:50, , 4F
類似功能的還有split, strsplit ,不過要注意一下支援的版
06/13 21:50, 4F

06/13 21:50, , 5F
本。find也可以改用regexp做更靈活的搜尋
06/13 21:50, 5F

06/15 00:50, , 6F
樓主加油~
06/15 00:50, 6F

06/15 23:07, , 7F
行數數量不一可google countlines.pl,
06/15 23:07, 7F

06/15 23:07, , 8F
但你的狀況比較像是欄數數量不一。
06/15 23:07, 8F

06/15 23:09, , 9F
這我就不知道怎麼解了,
06/15 23:09, 9F

06/15 23:09, , 10F
一般都是想辦法在ETL階段先把資料弄整齊。
06/15 23:09, 10F
文章代碼(AID): #1PFgx5R2 (MATLAB)
文章代碼(AID): #1PFgx5R2 (MATLAB)