Cómo almacenar la configuración de importación de la función Open() en una expresión separadaNecesito abrir archivos CSV con varias configuraciones.
Uno de los ejemplos es el siguiente:
dt = Open(
filePath,
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 18 ),
Data Starts( 19 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
Me gustaría almacenar estas configuraciones que vienen dentro de la construcción Import Settings () como una expresión separada y luego usarla al abrir un archivo.
Algo como esto (pero no funciona de esta manera, obviamente):
settings1 = Expr(
Import Settings(
<MY import="" settings="" here="">
)
);
settings2 = Expr(
Import Settings(
<SOME other="" import="" settings="" here="">
)
);
if(condition, importSettings = settings1, importSettings = settings2)
dt = Open(
filePath,
Eval(importSettings)
);</SOME></MY>
secuencias de comandosRe: Cómo almacenar la configuración de importación de la función Open() en una expresión separadaUna opción podría ser envolverlos así:
Names Default To Here(1);
settings1 = Expr(
dt = Open(
filePath,
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(1),
Column Names Start(1),
Data Starts(2),
Lines To Read("All"),
Year Rule("20xx")
)
)
);
settings2 = Expr(
dt = Open(
filePath,
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(1),
Column Names Start(5),
Data Starts(6),
Lines To Read("All"),
Year Rule("20xx")
)
)
);
filePath = "somefilehere";
settings1;
settings2;Re: Cómo almacenar la configuración de importación de la función Open() en una expresión separadaSupongo que tendré que escribir la función Open() varias veces o intentar usar Eval Insert()
Re: Cómo almacenar la configuración de importación de la función Open() en una expresión separadaQuizás puedas hacer algo con las técnicas mencionadas aquí . ¿Puedes construir esto sin escribir la expresión como una cadena?
Names Default To Here(1);
open_expr = Expr(Open(filePath));
settings1 = Expr(
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(1),
Column Names Start(1),
Data Starts(2),
Lines To Read("All"),
Year Rule("20xx")
)
);
Insert Into(open_expr, NameExpr(settings1));
Name Expr(open_expr);