From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vicente Vera Subject: Re: Complex conversion of text to org table Date: Tue, 14 Mar 2017 00:56:32 +0000 Message-ID: References: <57dd8dbc-bc4c-1053-fdab-5151f043417a@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=94eb2c114d66884d6a054aa64c59 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cnalQ-0004m5-Kq for emacs-orgmode@gnu.org; Mon, 13 Mar 2017 20:56:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cnalP-0007ha-9G for emacs-orgmode@gnu.org; Mon, 13 Mar 2017 20:56:36 -0400 Received: from mail-ot0-x22b.google.com ([2607:f8b0:4003:c0f::22b]:34229) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cnalP-0007h1-2n for emacs-orgmode@gnu.org; Mon, 13 Mar 2017 20:56:35 -0400 Received: by mail-ot0-x22b.google.com with SMTP id o24so123878873otb.1 for ; Mon, 13 Mar 2017 17:56:33 -0700 (PDT) In-Reply-To: <57dd8dbc-bc4c-1053-fdab-5151f043417a@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Scott Randby Cc: Xebar Saram , org mode --94eb2c114d66884d6a054aa64c59 Content-Type: text/plain; charset=UTF-8 OK that's a nice trick. Very useful for CSV files. Thanks! 2017-03-12 16:52 GMT+00:00 Scott Randby : > On 03/12/2017 11:35 AM, Xebar Saram wrote: > > Thx Vicente! > > > > Thats a decent idea. can this be all wrapped in a function (i have zero > > coding skills :)) ? i have hundreds of these tables to convert :) > > > > best! > > > > Z > > OR > > 3/4, cup, milk > 2, tablespoons, white vinegar > 1, cup, all-purpose flour > 2, tablespoons, white sugar > 1, teaspoon, baking powder > 1/2, teaspoon, baking soda > 1/2, teaspoon, salt > 1,, egg > 2, tablespoons, butter melted > ,, cooking spray > > | 3/4 | cup | milk | > | 2 | tablespoons | white vinegar | > | 1 | cup | all-purpose flour | > | 2 | tablespoons | white sugar | > | 1 | teaspoon | baking powder | > | 1/2 | teaspoon | baking soda | > | 1/2 | teaspoon | salt | > | 1 | | egg | > | 2 | tablespoons | butter melted | > | | | cooking spray | > > Scott > > > > > On Sun, Mar 12, 2017 at 5:26 PM, Vicente Vera > > wrote: > > > > Hello. In this case Org splits into columns everytime it sees a > > space, so "baking soda" ends up in two columns. A brute force > > solution: replace the spaces between words that shouldn't be put > > into separated columns with an underscore: > > > > 1_cup all-purpose_flour > > > > Convert it to an Org table and then do a quick M-x replace-string to > > replace '_' with ' '. > > > > 2017-03-12 15:14 GMT+00:00 Xebar Saram > >: > > > > Hi list > > > > so im trying to use orgmode to collect food recepies. i have one > > issue which is to convert text based ingridents list into org > > tables. > > > > for example take this list > > > > 3/4 cup milk > > 2 tablespoons white vinegar > > 1 cup all-purpose flour > > 2 tablespoons white sugar > > 1 teaspoon baking powder > > 1/2 teaspoon baking soda > > 1/2 teaspoon salt > > 1 egg > > 2 tablespoons butter, melted > > cooking spray > > > > if i mark this as a region and issue > > `org-table-create-or-convert-from-region` this is the result > > > > | 3/4 | cup | milk | | | > > | | | | > > | 2 | tablespoons | white | vinegar | (%or | better > > | yet | lemon | juice%) | > > | 1 | cup | all-purpose | flour | | > > | | | | > > | 2 | tablespoons | white | sugar | | > > | | | | > > | 1 | teaspoon | baking | powder | | > > | | | | > > | 1/2 | teaspoon | baking | soda | | > > | | | | > > | 1/2 | teaspoon | salt | | | > > | | | | > > | 1 | egg | | | | > > | | | | > > | 2 | tablespoons | butter, | melted | | > > | | | | > > | cooking | spray | | | | > > | | | | > > > > > > as you can see it got the amount (1/2) and the unit (cup) right > > yet the actual ingredients is cut into several columns > > > > i dont really know how to deal with this. is there a more > > intelligent way of auto directing the conversion to split it the > > correct way? > > > > if not any suggestions on how to convert it in a better way? > > perhaps a command to quick delete the separator (|) across all > > the column? > > > > thx alot in advance > > > > Z > > > > > > > > --94eb2c114d66884d6a054aa64c59 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+T0sgdGhhdCYjMzk7cyBhIG5pY2UgdHJpY2suIFZlcnkgdXNlZnVsIGZv ciBDU1YgZmlsZXMuIFRoYW5rcyE8YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxi cj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+MjAxNy0wMy0xMiAxNjo1MiBHTVQrMDA6MDAgU2Nv dHQgUmFuZGJ5IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOnNyYW5kYnlAZ21h aWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+c3JhbmRieUBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj46 PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxzcGFuIGNs YXNzPSIiPk9uIDAzLzEyLzIwMTcgMTE6MzUgQU0sIFhlYmFyIFNhcmFtIHdyb3RlOjxicj4NCjwv c3Bhbj48c3BhbiBjbGFzcz0iIj4mZ3Q7IFRoeCBWaWNlbnRlITxicj4NCiZndDs8YnI+DQomZ3Q7 IFRoYXRzIGEgZGVjZW50IGlkZWEuIGNhbiB0aGlzIGJlIGFsbCB3cmFwcGVkIGluIGEgZnVuY3Rp b24gKGkgaGF2ZSB6ZXJvPGJyPg0KJmd0OyBjb2Rpbmcgc2tpbGxzIDopKSA/IGkgaGF2ZSBodW5k cmVkcyBvZiB0aGVzZSB0YWJsZXMgdG8gY29udmVydCA6KTxicj4NCiZndDs8YnI+DQomZ3Q7IGJl c3QhPGJyPg0KJmd0Ozxicj4NCiZndDsgWjxicj4NCjxicj4NCjwvc3Bhbj5PUjxicj4NCjxicj4N CjMvNCwgY3VwLCBtaWxrPGJyPg0KMiwgdGFibGVzcG9vbnMsIHdoaXRlIHZpbmVnYXI8YnI+DQox LCBjdXAsIGFsbC1wdXJwb3NlIGZsb3VyPGJyPg0KMiwgdGFibGVzcG9vbnMsIHdoaXRlIHN1Z2Fy PGJyPg0KMSwgdGVhc3Bvb24sIGJha2luZyBwb3dkZXI8YnI+DQoxLzIsIHRlYXNwb29uLCBiYWtp bmcgc29kYTxicj4NCjEvMiwgdGVhc3Bvb24sIHNhbHQ8YnI+DQoxLCwgZWdnPGJyPg0KMiwgdGFi bGVzcG9vbnMsIGJ1dHRlciBtZWx0ZWQ8YnI+DQosLCBjb29raW5nIHNwcmF5PGJyPg0KPHNwYW4g Y2xhc3M9IiI+PGJyPg0KfCAzLzQgfCBjdXDCoCDCoCDCoCDCoCDCoHwgbWlsa8KgIMKgIMKgIMKg IMKgIMKgIMKgIHw8YnI+DQp8wqAgwqAyIHwgdGFibGVzcG9vbnMgfCB3aGl0ZSB2aW5lZ2FywqAg wqAgwqB8PGJyPg0KfMKgIMKgMSB8IGN1cMKgIMKgIMKgIMKgIMKgfCBhbGwtcHVycG9zZSBmbG91 ciB8PGJyPg0KfMKgIMKgMiB8IHRhYmxlc3Bvb25zIHwgd2hpdGUgc3VnYXLCoCDCoCDCoCDCoHw8 YnI+DQp8wqAgwqAxIHwgdGVhc3Bvb27CoCDCoCB8IGJha2luZyBwb3dkZXLCoCDCoCDCoHw8YnI+ DQp8IDEvMiB8IHRlYXNwb29uwqAgwqAgfCBiYWtpbmcgc29kYcKgIMKgIMKgIMKgfDxicj4NCnwg MS8yIHwgdGVhc3Bvb27CoCDCoCB8IHNhbHTCoCDCoCDCoCDCoCDCoCDCoCDCoCB8PGJyPg0KfMKg IMKgMSB8wqAgwqAgwqAgwqAgwqAgwqAgwqB8IGVnZ8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfDxi cj4NCjwvc3Bhbj48c3BhbiBjbGFzcz0iIj58wqAgwqAyIHwgdGFibGVzcG9vbnMgfCBidXR0ZXIg bWVsdGVkwqAgwqAgwqB8PGJyPg0KfMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgfCBjb29r aW5nIHNwcmF5wqAgwqAgwqB8PGJyPg0KPGJyPg0KU2NvdHQ8YnI+DQo8YnI+DQomZ3Q7PGJyPg0K PC9zcGFuPjxzcGFuIGNsYXNzPSIiPiZndDsgT24gU3VuLCBNYXIgMTIsIDIwMTcgYXQgNToyNiBQ TSwgVmljZW50ZSBWZXJhICZsdDs8YSBocmVmPSJtYWlsdG86dmljZW50ZW12cEBnbWFpbC5jb20i PnZpY2VudGVtdnBAZ21haWwuY29tPC9hPjxicj4NCjwvc3Bhbj48c3BhbiBjbGFzcz0iIj4mZ3Q7 ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnZpY2VudGVtdnBAZ21haWwuY29tIj52aWNlbnRl bXZwQGdtYWlsLmNvbTwvYT4mZ3Q7Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgSGVsbG8uIEluIHRoaXMgY2FzZSBPcmcgc3BsaXRzIGludG8gY29sdW1ucyBldmVyeXRpbWUg aXQgc2VlcyBhPGJyPg0KJmd0O8KgIMKgIMKgc3BhY2UsIHNvICZxdW90O2Jha2luZyBzb2RhJnF1 b3Q7IGVuZHMgdXAgaW4gdHdvIGNvbHVtbnMuIEEgYnJ1dGUgZm9yY2U8YnI+DQomZ3Q7wqAgwqAg wqBzb2x1dGlvbjogcmVwbGFjZSB0aGUgc3BhY2VzIGJldHdlZW4gd29yZHMgdGhhdCBzaG91bGRu JiMzOTt0IGJlIHB1dDxicj4NCiZndDvCoCDCoCDCoGludG8gc2VwYXJhdGVkIGNvbHVtbnMgd2l0 aCBhbiB1bmRlcnNjb3JlOjxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAxX2N1cCBhbGwtcHVy cG9zZV9mbG91cjxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqBDb252ZXJ0IGl0IHRvIGFuIE9y ZyB0YWJsZSBhbmQgdGhlbiBkbyBhIHF1aWNrIE0teCByZXBsYWNlLXN0cmluZyB0bzxicj4NCiZn dDvCoCDCoCDCoHJlcGxhY2UgJiMzOTtfJiMzOTsgd2l0aCAmIzM5OyAmIzM5Oy48YnI+DQomZ3Q7 PGJyPg0KJmd0O8KgIMKgIMKgMjAxNy0wMy0xMiAxNToxNCBHTVQrMDA6MDAgWGViYXIgU2FyYW0g Jmx0OzxhIGhyZWY9Im1haWx0bzp6ZWx0YWtjQGdtYWlsLmNvbSI+emVsdGFrY0BnbWFpbC5jb208 L2E+PGJyPg0KPC9zcGFuPiZndDvCoCDCoCDCoCZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnpl bHRha2NAZ21haWwuY29tIj56ZWx0YWtjQGdtYWlsLmNvbTwvYT4mZ3Q7Jmd0Ozo8YnI+DQo8ZGl2 IGNsYXNzPSJIT0VuWmIiPjxkaXYgY2xhc3M9Img1Ij4mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgSGkgbGlzdDxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBzbyBpbSB0cnlpbmcg dG8gdXNlIG9yZ21vZGUgdG8gY29sbGVjdCBmb29kIHJlY2VwaWVzLiBpIGhhdmUgb25lPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgaXNzdWUgd2hpY2ggaXMgdG8gY29udmVydCB0ZXh0IGJhc2VkIGlu Z3JpZGVudHMgbGlzdCBpbnRvIG9yZzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHRhYmxlcy48YnI+ DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgZm9yIGV4YW1wbGUgdGFrZSB0aGlzIGxpc3Q8 YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgMy80IGN1cCBtaWxrPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgMiB0YWJsZXNwb29ucyB3aGl0ZSB2aW5lZ2FyPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgMSBjdXAgYWxsLXB1cnBvc2UgZmxvdXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAyIHRh Ymxlc3Bvb25zIHdoaXRlIHN1Z2FyPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgMSB0ZWFzcG9vbiBi YWtpbmcgcG93ZGVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgMS8yIHRlYXNwb29uIGJha2luZyBz b2RhPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgMS8yIHRlYXNwb29uIHNhbHQ8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAxIGVnZzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoDIgdGFibGVzcG9vbnMgYnV0 dGVyLCBtZWx0ZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBjb29raW5nIHNwcmF5PGJyPg0KJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGlmIGkgbWFyayB0aGlzIGFzIGEgcmVnaW9uIGFuZCBp c3N1ZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGBvcmctdGFibGUtY3JlYXRlLW9yLWNvbnZlcnQt PHdicj5mcm9tLXJlZ2lvbmAgdGhpcyBpcyB0aGUgcmVzdWx0PGJyPg0KJmd0Ozxicj4NCiZndDvC oCDCoCDCoCDCoCDCoHzCoCDCoCDCoDMvNCB8IGN1cMKgIMKgIMKgIMKgIMKgfCBtaWxrwqAgwqAg wqAgwqAgfMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIHw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAg fMKgIMKgIMKgfMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgfDxicj4NCiZndDvCoCDCoCDCoCDC oCDCoHzCoCDCoCDCoCDCoDIgfCB0YWJsZXNwb29ucyB8IHdoaXRlwqAgwqAgwqAgwqB8IHZpbmVn YXIgfCAoJW9yIHwgYmV0dGVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgfCB5ZXQgfCBsZW1vbiB8 IGp1aWNlJSkgfDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoDEgfCBjdXDCoCDC oCDCoCDCoCDCoHwgYWxsLXB1cnBvc2UgfCBmbG91csKgIMKgfMKgIMKgIMKgIHw8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgfMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgfDxicj4N CiZndDvCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoDIgfCB0YWJsZXNwb29ucyB8IHdoaXRlwqAg wqAgwqAgwqB8IHN1Z2FywqAgwqB8wqAgwqAgwqAgfDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCB8 wqAgwqAgwqB8wqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqB8PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgfMKgIMKgIMKgIMKgMSB8IHRlYXNwb29uwqAgwqAgfCBiYWtpbmfCoCDCoCDCoCB8IHBvd2Rl csKgIHzCoCDCoCDCoCB8PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIHzCoCDCoCDCoHzCoCDCoCDC oCDCoHzCoCDCoCDCoCDCoCDCoHw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAxLzIg fCB0ZWFzcG9vbsKgIMKgIHwgYmFraW5nwqAgwqAgwqAgfCBzb2RhwqAgwqAgfMKgIMKgIMKgIHw8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgfMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKg IMKgfDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoDEvMiB8IHRlYXNwb29uwqAgwqAg fCBzYWx0wqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIHw8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAgfMKgIMKgIMKgfMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgfDxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoDEgfCBlZ2fCoCDCoCDCoCDCoCDCoHzCoCDCoCDC oCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCB8PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgIHzCoCDCoCDCoHzCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoHw8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAyIHwgdGFibGVzcG9vbnMgfCBidXR0ZXIswqAgwqAgwqB8 IG1lbHRlZMKgIHzCoCDCoCDCoCB8PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIHzCoCDCoCDCoHzC oCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoHw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB8IGNvb2tp bmcgfCBzcHJhecKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKg fMKgIMKgIMKgIHw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgfMKgIMKgIMKgIMKg fMKgIMKgIMKgIMKgIMKgfDxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgYXMgeW91IGNhbiBzZWUgaXQgZ290IHRoZSBhbW91bnQgKDEvMikgYW5kIHRoZSB1bml0IChj dXApIHJpZ2h0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgeWV0IHRoZSBhY3R1YWwgaW5ncmVkaWVu dHMgaXMgY3V0IGludG8gc2V2ZXJhbCBjb2x1bW5zPGJyPg0KJmd0Ozxicj4NCiZndDvCoCDCoCDC oCDCoCDCoGkgZG9udCByZWFsbHkga25vdyBob3cgdG8gZGVhbCB3aXRoIHRoaXMuIGlzIHRoZXJl IGEgbW9yZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGludGVsbGlnZW50IHdheSBvZiBhdXRvIGRp cmVjdGluZyB0aGUgY29udmVyc2lvbiB0byBzcGxpdCBpdCB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqBjb3JyZWN0IHdheT88YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgaWYgbm90 IGFueSBzdWdnZXN0aW9ucyBvbiBob3cgdG8gY29udmVydCBpdCBpbiBhIGJldHRlciB3YXk/PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgcGVyaGFwcyBhIGNvbW1hbmQgdG8gcXVpY2sgZGVsZXRlIHRo ZSBzZXBhcmF0b3IgKHwpIGFjcm9zcyBhbGw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aGUgY29s dW1uPzxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aHggYWxvdCBpbiBhZHZhbmNl PGJyPg0KJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoFo8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxi cj4NCiZndDs8YnI+DQo8YnI+DQo8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwv ZGl2Pg0K --94eb2c114d66884d6a054aa64c59--