Exemplo n.º 1
0
        private static void ccmNames()
        {
            using (Pnyx p = new Pnyx())
            {
                p.read("C:/dev/asclepius/prod_import/ccm_names.csv");
                p.parseCsv(hasHeader: true);
                p.rowTransformerFunc(row =>
                {
                    String lastName = row[1];
                    Tuple <String, String> lastNameSuffix = NameUtil.parseSuffix(lastName);

                    if (lastNameSuffix.Item2 == null)
                    {
                        return(null);
                    }

                    // Expands name into 2 columns
                    row = RowUtil.replaceColumn(row, 2, lastNameSuffix.Item1, lastNameSuffix.Item2);
                    return(row);
                });
                p.rowTransformerFunc(row =>
                {
                    for (int i = 0; i < row.Count; i++)
                    {
                        row[i] = TextUtil.encodeSqlValue(row[i]);
                    }
                    return(row);
                });
                p.print("update bhc_patient_ccm set lastname=$2, suffix=$3 where patientid=$1;");
                p.write("C:/dev/asclepius/prod_import/ccm_names_update.sql");
                p.process();
            }
        }
Exemplo n.º 2
0
        private static void transform()
        {
            using (Pnyx p = new Pnyx())
            {
                p.setSettings(outputNewline: "\n");

                p.read("C:/dev/asclepius/prod_import/bhc_procedures.csv");
                p.parseCsv(hasHeader: true);
                p.withColumns(p2 => p2.lineTransformer(new DateTransform
                {
                    formatSource = DateUtil.FORMAT_MDYYYY, formatDestination = DateUtil.FORMAT_ISO_8601_DATE
                }), 12);
                p.rowTransformer(new DateFixer());
                p.tee(p2 =>
                {
                    p2.removeColumns(7, 8, 9, 10, 11);
                    p2.withColumns(p3 => p3.rowFilter(new RepeatFilter()), 1, 2, 7);
                    p2.write("C:/dev/asclepius/prod_import/bhc_procedure_base.csv");
                });
                p.removeColumns(3, 4, 5, 6);
                p.rowTransformer(new SequenceFixer());
                p.write("C:/dev/asclepius/prod_import/bhc_procedure_diagnosis.csv");
                p.process();
            }
        }
Exemplo n.º 3
0
        private static void transform()
        {
            using (Pnyx p = new Pnyx())
            {
                p.read("C:/dev/asclepius/prod_import/BHC Patients from 1-1-15 thru 10-31-2018.csv");
                p.parseCsv(hasHeader: true);
                p.withColumns(p2 => p2.lineTransformer(new DateTransform
                {
                    formatSource = DateUtil.FORMAT_MDYYYY, formatDestination = DateUtil.FORMAT_ISO_8601_DATE
                }), 4, 5, 6);
                p.rowTransformerFunc(row =>
                {
                    String fullName = row[2];

                    Name name = NameUtil.parseFullName(fullName);
                    if (name == null)
                    {
                        return(null);
                    }

                    // Expands name into 4 columns
                    row = RowUtil.replaceColumn(row, 3, name.firstName, name.middleName, name.lastName, name.suffix);
                    return(row);
                });
                p.tee(p2 =>
                {
                    p2.removeColumns(7 + 3, 8 + 3, 9 + 3);                // plus 3 from name split above
                    p2.rowFilter(new RepeatFilter());
                    p2.write("C:/dev/asclepius/prod_import/bhc_discharges.csv");
                });
                p.widthColumns(9 + 3);                                  // plus 3 from name split above
                p.write("C:/dev/asclepius/prod_import/bhc_discharges_diagnosis.csv");
                p.process();
            }
        }
Exemplo n.º 4
0
 public void headerNamesError(String message, params Object[] columnNumbersAndNames)
 {
     using (Pnyx p = new Pnyx())
     {
         p.readString("bb");
         p.parseCsv(hasHeader: true);
         InvalidArgumentException exception = Assert.Throws <InvalidArgumentException>(() => p.headerNames(columnNumbersAndNames));
         Assert.Equal(message, exception.Message);
     }
 }
Exemplo n.º 5
0
 // pnyx -e=documentation pncs.cmd.examples.documentation.library.ExampleProcessorChain sedShim
 public static void sedShim()
 {
     using (Pnyx p = new Pnyx())
     {
         p.readString("CSV,INPUT!,\"Go, Pnyx Go\"");
         p.parseCsv();
         p.sed("[,!]", "_", "g");
         p.writeStdout();
     }
     // outputs: CSV,INPUT_,"Go_ Pnyx Go"
 }
Exemplo n.º 6
0
 private static void columnDefs()
 {
     using (Pnyx p = new Pnyx())
     {
         p.read("C:/dev/asclepius/prod_import/bhc_procedures.csv");
         p.parseCsv();
         p.columnDefinition(maxWidth: true, hasHeaderRow: true, minWidth: true, nullable: true);
         p.swapColumnsAndRows();
         p.writeStdout();
         p.process();
     }
 }
Exemplo n.º 7
0
        public static int main()
        {
            using (Pnyx p = new Pnyx())
            {
                p.read(@"c:/dev/asclepius/prod_import/test.csv");
                p.parseCsv(hasHeader: true);
                p.rowBuffering(new Discovery());
                p.swapColumnsAndRows();
                p.writeStdout();
            }

            return(0);
        }
Exemplo n.º 8
0
        // pnyx -e=documentation pncs.cmd.examples.documentation.library.ExampleRow printDelimiter
        public static void printDelimiter()
        {
            const String input = "col1,\"Column, zwei\"";

            using (Pnyx p = new Pnyx())
            {
                p.readString(input);
                p.parseCsv();
                p.printDelimiter("|");
                p.writeStdout();
            }
            // outputs: col1|Column, zwei
        }
Exemplo n.º 9
0
        // pnyx -e=documentation pncs.cmd.examples.documentation.library.ExampleRow printDelimiter
        public static void print()
        {
            const String input = "Socialism,Communism,Fascism";

            using (Pnyx p = new Pnyx())
            {
                p.readString(input);
                p.parseCsv();
                p.print("Failed Systems: $1, $2, and $3");
                p.writeStdout();
            }
            // outputs: Failed Systems: Socialism, Communism, and Fascism
        }
Exemplo n.º 10
0
        public void setEndRow()
        {
            TestEndRow processor = new TestEndRow();

            using (Pnyx p = new Pnyx())
            {
                p.readString("a,1\nb,2\nc,3");
                p.parseCsv();
                p.endRow(processor);
            }

            Assert.Equal("a|1\nb|2\nc|3\nEOF\n", processor.ToString());
        }
Exemplo n.º 11
0
        // pnyx -e=documentation pncs.cmd.examples.documentation.library.ExampleRow filterFunc
        public static void filterFunc()
        {
            const String input = @"Line one,KEEPER
Line two,Loser
";

            using (Pnyx p = new Pnyx())
            {
                p.readString(input);
                p.parseCsv();
                p.rowFilterFunc(x => TextUtil.isUpperCase(x[1]));
                p.writeStdout();
            }
            // outputs:
            // "Line one",KEEPER
        }
Exemplo n.º 12
0
        // pnyx -e=documentation pncs.cmd.examples.documentation.library.ExampleLine embeddedNewlineParseCsv
        public static void embeddedNewlineParseCsv()
        {
            const String input = "a,\"Long\nText\n\"";

            using (Pnyx p = new Pnyx())
            {
                p.readString(input);          // StreamToLineProcessor
                p.print("$0");                // forces line state
                p.parseCsv(strict: false);
                p.selectColumns(2, 1);
                p.writeStdout();
            }
            // outputs:
            // Long,a
            // ,Text
            // ,
        }
Exemplo n.º 13
0
        // pnyx -e=documentation pncs.cmd.examples.documentation.library.ExampleRow andShim
        public static void andShim()
        {
            const String input = @"Line one,a,,c
Line two,a,b,c
Line three,,,c
";

            using (Pnyx p = new Pnyx())
            {
                p.readString(input);
                p.parseCsv();
                p.shimAnd(p2 => p2.hasLine());
                p.writeStdout();
            }
            // outputs:
            // "Line two",a,b,c
        }