R: read.table seperator every XX characters











up vote
0
down vote

favorite












Unable to find the solution to my problem.



I am trying to read a text file using r. File contains a single row and separated by number of characters.



000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771


First value is of 20 digit floating.9 digit followed by 10 decimal digit.



The file contains between 22 and 30 values, each 20 digits long (decimal digit set to '.')



What i am unable to figure out how to get rid of this extra 0.



Any lead of help is highly appreciable.










share|improve this question




























    up vote
    0
    down vote

    favorite












    Unable to find the solution to my problem.



    I am trying to read a text file using r. File contains a single row and separated by number of characters.



    000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771


    First value is of 20 digit floating.9 digit followed by 10 decimal digit.



    The file contains between 22 and 30 values, each 20 digits long (decimal digit set to '.')



    What i am unable to figure out how to get rid of this extra 0.



    Any lead of help is highly appreciable.










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Unable to find the solution to my problem.



      I am trying to read a text file using r. File contains a single row and separated by number of characters.



      000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771


      First value is of 20 digit floating.9 digit followed by 10 decimal digit.



      The file contains between 22 and 30 values, each 20 digits long (decimal digit set to '.')



      What i am unable to figure out how to get rid of this extra 0.



      Any lead of help is highly appreciable.










      share|improve this question















      Unable to find the solution to my problem.



      I am trying to read a text file using r. File contains a single row and separated by number of characters.



      000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771


      First value is of 20 digit floating.9 digit followed by 10 decimal digit.



      The file contains between 22 and 30 values, each 20 digits long (decimal digit set to '.')



      What i am unable to figure out how to get rid of this extra 0.



      Any lead of help is highly appreciable.







      r separator read.table






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 10 at 20:56

























      asked Nov 10 at 18:17









      Microwave_Woodchuck

      33




      33
























          2 Answers
          2






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          You can read data in a fixed-width format with read.fwf:



          > read.fwf("./d.txt", widths=rep(20,30))
          V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
          1 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
          2 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
          V13 V14 V15 V16 V17 V18 V19 V20 V21 V22
          1 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
          2 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
          V23 V24 V25 V26 V27 V28 V29 V30
          1 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572
          2 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572


          You need to know how many fields and how big they are. You didnt say how many lines in the file but I copied your line in twice (hence the duplication).






          share|improve this answer





















          • thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
            – Microwave_Woodchuck
            Nov 10 at 20:59












          • If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
            – Spacedman
            Nov 10 at 22:54


















          up vote
          0
          down vote













          library(stringi)

          stri_match_all_regex(
          "000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771",
          ".{20}"
          ) %>%
          unlist() %>%
          as.numeric()
          ## [1] 341656.00000 4.60000 9.00000 50.95668 52.00000
          ## [6] 72.86212 7.00000 50.03610 47.24910 54.55602
          ## [11] 6.00000 49.97112 47.03971 43.14885 23.00000
          ## [16] 46.62816 40.15162 38.46535 2.00000 46.21300
          ## [21] 41.99639 37.38501 30.00000 46.01444 40.03249
          ## [26] 27.09310 3.00000 43.39711 32.48014 10.47572


          Also:



          as.numeric(readChar("~/Data/20.txt", rep(20, file.size("~/Data/20.txt")/20)))





          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242010%2fr-read-table-seperator-every-xx-characters%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote



            accepted










            You can read data in a fixed-width format with read.fwf:



            > read.fwf("./d.txt", widths=rep(20,30))
            V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
            1 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            2 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            V13 V14 V15 V16 V17 V18 V19 V20 V21 V22
            1 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            2 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            V23 V24 V25 V26 V27 V28 V29 V30
            1 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572
            2 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572


            You need to know how many fields and how big they are. You didnt say how many lines in the file but I copied your line in twice (hence the duplication).






            share|improve this answer





















            • thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
              – Microwave_Woodchuck
              Nov 10 at 20:59












            • If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
              – Spacedman
              Nov 10 at 22:54















            up vote
            0
            down vote



            accepted










            You can read data in a fixed-width format with read.fwf:



            > read.fwf("./d.txt", widths=rep(20,30))
            V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
            1 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            2 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            V13 V14 V15 V16 V17 V18 V19 V20 V21 V22
            1 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            2 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            V23 V24 V25 V26 V27 V28 V29 V30
            1 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572
            2 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572


            You need to know how many fields and how big they are. You didnt say how many lines in the file but I copied your line in twice (hence the duplication).






            share|improve this answer





















            • thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
              – Microwave_Woodchuck
              Nov 10 at 20:59












            • If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
              – Spacedman
              Nov 10 at 22:54













            up vote
            0
            down vote



            accepted







            up vote
            0
            down vote



            accepted






            You can read data in a fixed-width format with read.fwf:



            > read.fwf("./d.txt", widths=rep(20,30))
            V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
            1 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            2 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            V13 V14 V15 V16 V17 V18 V19 V20 V21 V22
            1 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            2 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            V23 V24 V25 V26 V27 V28 V29 V30
            1 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572
            2 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572


            You need to know how many fields and how big they are. You didnt say how many lines in the file but I copied your line in twice (hence the duplication).






            share|improve this answer












            You can read data in a fixed-width format with read.fwf:



            > read.fwf("./d.txt", widths=rep(20,30))
            V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
            1 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            2 341656 4.6 9 50.95668 52 72.86212 7 50.0361 47.2491 54.55602 6 49.97112
            V13 V14 V15 V16 V17 V18 V19 V20 V21 V22
            1 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            2 47.03971 43.14885 23 46.62816 40.15162 38.46535 2 46.213 41.99639 37.38501
            V23 V24 V25 V26 V27 V28 V29 V30
            1 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572
            2 30 46.01444 40.03249 27.0931 3 43.39711 32.48014 10.47572


            You need to know how many fields and how big they are. You didnt say how many lines in the file but I copied your line in twice (hence the duplication).







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 10 at 18:21









            Spacedman

            71.4k994164




            71.4k994164












            • thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
              – Microwave_Woodchuck
              Nov 10 at 20:59












            • If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
              – Spacedman
              Nov 10 at 22:54


















            • thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
              – Microwave_Woodchuck
              Nov 10 at 20:59












            • If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
              – Spacedman
              Nov 10 at 22:54
















            thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
            – Microwave_Woodchuck
            Nov 10 at 20:59






            thanks for your answer! It´s 1 line, with something in between 22 to 30 indiv. values (depends on how many satellites were in range during the measurement).
            – Microwave_Woodchuck
            Nov 10 at 20:59














            If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
            – Spacedman
            Nov 10 at 22:54




            If you have more field widths than there are fields in the data it looks like the data gets padded out with extra NA (missing) fields.
            – Spacedman
            Nov 10 at 22:54












            up vote
            0
            down vote













            library(stringi)

            stri_match_all_regex(
            "000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771",
            ".{20}"
            ) %>%
            unlist() %>%
            as.numeric()
            ## [1] 341656.00000 4.60000 9.00000 50.95668 52.00000
            ## [6] 72.86212 7.00000 50.03610 47.24910 54.55602
            ## [11] 6.00000 49.97112 47.03971 43.14885 23.00000
            ## [16] 46.62816 40.15162 38.46535 2.00000 46.21300
            ## [21] 41.99639 37.38501 30.00000 46.01444 40.03249
            ## [26] 27.09310 3.00000 43.39711 32.48014 10.47572


            Also:



            as.numeric(readChar("~/Data/20.txt", rep(20, file.size("~/Data/20.txt")/20)))





            share|improve this answer

























              up vote
              0
              down vote













              library(stringi)

              stri_match_all_regex(
              "000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771",
              ".{20}"
              ) %>%
              unlist() %>%
              as.numeric()
              ## [1] 341656.00000 4.60000 9.00000 50.95668 52.00000
              ## [6] 72.86212 7.00000 50.03610 47.24910 54.55602
              ## [11] 6.00000 49.97112 47.03971 43.14885 23.00000
              ## [16] 46.62816 40.15162 38.46535 2.00000 46.21300
              ## [21] 41.99639 37.38501 30.00000 46.01444 40.03249
              ## [26] 27.09310 3.00000 43.39711 32.48014 10.47572


              Also:



              as.numeric(readChar("~/Data/20.txt", rep(20, file.size("~/Data/20.txt")/20)))





              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                library(stringi)

                stri_match_all_regex(
                "000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771",
                ".{20}"
                ) %>%
                unlist() %>%
                as.numeric()
                ## [1] 341656.00000 4.60000 9.00000 50.95668 52.00000
                ## [6] 72.86212 7.00000 50.03610 47.24910 54.55602
                ## [11] 6.00000 49.97112 47.03971 43.14885 23.00000
                ## [16] 46.62816 40.15162 38.46535 2.00000 46.21300
                ## [21] 41.99639 37.38501 30.00000 46.01444 40.03249
                ## [26] 27.09310 3.00000 43.39711 32.48014 10.47572


                Also:



                as.numeric(readChar("~/Data/20.txt", rep(20, file.size("~/Data/20.txt")/20)))





                share|improve this answer












                library(stringi)

                stri_match_all_regex(
                "000341656.0000000000000000004.6000000000000000009.0000000000000000050.9566787004000000052.0000000000000000072.8621215573000000007.0000000000000000050.0361010830000000047.2490974729000000054.5560183531000000006.0000000000000000049.9711191336000000047.0397111913000000043.1488475260000000023.0000000000000000046.6281588448000000040.1516245487000000038.4653540241000000002.0000000000000000046.2129963899000000041.9963898917000000037.3850068798000000030.0000000000000000046.0144404332000000040.0324909747000000027.0930952140000000003.0000000000000000043.3971119134000000032.4801444043000000010.4757238771",
                ".{20}"
                ) %>%
                unlist() %>%
                as.numeric()
                ## [1] 341656.00000 4.60000 9.00000 50.95668 52.00000
                ## [6] 72.86212 7.00000 50.03610 47.24910 54.55602
                ## [11] 6.00000 49.97112 47.03971 43.14885 23.00000
                ## [16] 46.62816 40.15162 38.46535 2.00000 46.21300
                ## [21] 41.99639 37.38501 30.00000 46.01444 40.03249
                ## [26] 27.09310 3.00000 43.39711 32.48014 10.47572


                Also:



                as.numeric(readChar("~/Data/20.txt", rep(20, file.size("~/Data/20.txt")/20)))






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 10 at 19:34









                hrbrmstr

                59.1k584143




                59.1k584143






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242010%2fr-read-table-seperator-every-xx-characters%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to pass form data using jquery Ajax to insert data in database?

                    National Museum of Racing and Hall of Fame

                    Guess what letter conforming each word