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(); } }
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(); } }
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(); } }
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); } }
// 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" }
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(); } }
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); }
// 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 }
// 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 }
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()); }
// 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 }
// 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 // , }
// 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 }