コード例 #1
0
ファイル: Mir.cs プロジェクト: ericraider33/pnyx.net
        public static int fix()
        {
            using (Pnyx p = new Pnyx())
            {
                p.setSettings(outputNewline: "\n");

                p.read("C:/dev/asclepius/prod_import/mirPatients.csv");
                p.parseCsv(hasHeader: false);
                p.widthColumns(10, null);
                p.rowTransformerFunc(x => new System.Collections.Generic.List <string> {
                    x[1], x[4], x[5], x[9] ?? x[8] ?? x[7] ?? x[6] ?? x[5] ?? x[4]
                });
                p.rowTransformerFunc(row =>
                {
                    var fullName = row[0];

                    var name = pnyx.net.util.NameUtil.parseFullName(fullName);
                    if (name == null)
                    {
                        return(null);
                    }

                    return(pnyx.net.util.RowUtil.replaceColumn(row, 1, name.firstName, name.lastName));
                });
                p.rowTransformerFunc(x =>
                {
                    x[2] = PhoneUtil.parsePhone(x[2]);
                    x[3] = PhoneUtil.parsePhone(x[3]);
                    return(x.ToList());
                });

                p.tee(px => px.writeStdout());
                p.write("C:/dev/asclepius/prod_import/mirPatients.out.csv");
                p.process();
            }

            return(0);
        }
コード例 #2
0
        public void parsePhone(String phone, String defaultAreaCode, String expected)
        {
            String actual = PhoneUtil.parsePhone(phone, defaultAreaCode);

            Assert.Equal(expected, actual);
        }
コード例 #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);
        }