예제 #1
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();
            }
        }
예제 #2
0
        public void parseFullName(string source, string firstName, string middleName, string lastName, String suffix)
        {
            Name name = NameUtil.parseFullName(source);

            if (firstName == null)
            {
                Assert.Null(name);
                return;
            }
            Assert.Equal(firstName, name.firstName);
            Assert.Equal(middleName, name.middleName);
            Assert.Equal(lastName, name.lastName);
            Assert.Equal(suffix, name.suffix);
        }
예제 #3
0
        public static int main()
        {
            using (Pnyx p = new Pnyx())
            {
                p.setSettings(outputNewline: StreamInformation.newlineString(NewLineEnum.Unix));
                p.read(@"c:/dev/asclepius/prod_import/American Academy of Private Physicians.csv");
                p.parseCsv(hasHeader: true);
                p.hasColumns(true, 2);
                p.withColumns(p2 => { p2.lineTransformerFunc(line => line == "" ? "-66" : line); }, 1, 2, 3, 4, 5);

                p.rowTransformerFunc(row =>
                {
                    row[3] = TextUtil.extractAlpha(row[3]);            // removes periods from title
                    return(row);
                });
                p.rowTransformerFunc(row =>
                {
                    row[7] = ZipCodeUtil.parseZipCode(row[7], true);
                    return(row);
                });
                p.rowTransformerFunc(row =>
                {
                    row[8] = PhoneUtil.parsePhone(row[8]);
                    return(row);
                });
                p.rowTransformerFunc(row =>
                {
                    row[9] = EmailUtil.validateAndRepair(row[9]);
                    return(row);
                });
                p.rowTransformerFunc(row =>
                {
                    String firstName = row[1];
                    String lastName  = row[2];

                    firstName = firstName.Replace(",", " ");
                    lastName  = lastName.Replace(",", " ");

                    String wholeName = firstName + " " + lastName;
                    Name name        = NameUtil.parseFullName(wholeName);

                    row[1] = name.firstName;
                    row[2] = name.lastName;

                    row = RowUtil.insertColumns(row, 4, name.suffix);
                    row = RowUtil.insertColumns(row, 3, name.middleName);

                    return(row);
                });
                p.widthColumns(13);
                p.headerNames("Credentials", "FirstName", "MiddleName", "LastName", "Suffix", "Title", "StreetAddress", "City", "State", "ZipCode", "Phone", "Email", "CompanyName");
                p.write(@"c:/dev/asclepius/prod_import/aapp.csv");
            }

            using (Pnyx p = new Pnyx())
            {
                p.read(@"c:/dev/asclepius/prod_import/aapp.csv");
                p.parseCsv();
                p.columnDefinition(hasHeaderRow: true, maxWidth: true, nullable: true);
                p.swapColumnsAndRows();
                p.writeStdout();
            }

            return(0);
        }