Come memorizzare le impostazioni di importazione della funzione Open() in un'espressione separataDevo aprire file CSV con varie impostazioni.
Uno degli esempi è qui sotto:
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" )
)
);
Vorrei archiviare queste impostazioni che entrano nel costrutto Import Settings() come un'espressione separata e quindi utilizzarle quando si apre un file.
Qualcosa del genere (ma ovviamente non funziona in questo modo):
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>
SceneggiaturaRe: Come memorizzare le impostazioni di importazione della funzione Open() in un'espressione separataUn'opzione potrebbe avvolgerli in questo modo:
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: Come memorizzare le impostazioni di importazione della funzione Open() in un'espressione separataImmagino che dovrò scrivere più volte la funzione Open(). Oppure provare a usare Eval Insert()
Re: Come memorizzare le impostazioni di importazione della funzione Open() in un'espressione separataPotresti riuscire a fare qualcosa con le tecniche menzionate qui . Puoi realizzare questo senza scrivere l'espressione come stringa?
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);