2009-07-09 8 views
3

Die Ausgabe, die wir erzeugen müssen, ist eine Standard-Datei mit Trennzeichen, aber anstelle von Ascii-Inhalt brauchen wir Binär. Ist dies mit SAS möglich?Kann SAS CSV-Dateien in Binärformat konvertieren?

+0

Sie können praktisch jedes Datenformat lesen und jedes beliebige Datenformat schreiben. Wenn Sie sagen, dass Sie eine "Binärdatei" erstellen wollen, was bedeutet das? Welches binäre Dateiformat benötigen Sie? –

Antwort

1

Sie können eine CSV-Datei tatsächlich als SAS-Katalogeintrag erstellen; CSV ist ein gültiger SAS Catalog-Eintragstyp.

Hier ist ein Beispiel:

filename of catalog "sasuser.test.class.csv"; 

proc export data=sashelp.class 
    outfile=of 
    dbms=dlm; 
    delimiter=','; 
run; 

filename of clear; 

Dieses kleine Stück Code exportiert SASHELP.CLASS an einen SAS Katalogeintrag von Eintragsart CSV.

Auf diese Weise erhalten Sie ein Binärformat, das Sie mit PROC CPORT/CIMPORT zwischen verschiedenen SAS-Installationen auf verschiedenen Plattformen verschieben können. Sie müssen sich keine Sorgen machen, wenn das verwendete Binärpaketformat für Ihre SAS-Sitzung verfügbar ist.

4

Gibt es ein bestimmtes binäres Format, das Sie brauchen? Oder einfach etwas Nicht-ASCII? Wenn Sie proc export verwenden, sind Sie wahrscheinlich auf die verfügbaren Formate beschränkt. Sie können den csv jedoch immer manuell erstellen.

Wenn alles funktioniert, können Sie einfach die CSV-Datei komprimieren.

Laufen auf einem * nix-System, zum Beispiel, werden Sie so etwas wie verwenden:

filename outfile pipe "gzip -c > myfile.csv.gz"; 

dann manuell die csv erstellen:

data _null_; 
    set mydata; 
    file outfile; 
    put var1 "," var2 "," var3; 
run; 

Wenn dieser PC/Windows SAS, ich bin nicht so vertraut, aber Sie müssen wahrscheinlich ein Befehlszeilendienstprogramm installieren.

Dieser Link von SAS schlägt vor, winzip zu verwenden, das eine frei herunterladbare Version hat. Ansonsten ist der Code ähnlich. http://support.sas.com/kb/26/011.html

+0

Oh mein Gott, du verdienst sme viele upvotes! – Oleg

1

Sie sagen, Sie haben Binärdaten, die Sie an CSV ausgeben möchten?

Wenn ja, ich glaube nicht, dass es notwendigerweise einen definierten Standard gibt, wie dies zu behandeln ist.

Ich schlage vor es zu versuchen (Proc Export kommt in den Sinn) und zu sehen, ob die Ergebnisse Ihren Erwartungen entsprechen.

+0

Ich sage, ich habe eine CSV, die ich als binär ausgeben möchte. Mein Gedanke war, dass "Binärformat" etwas ist, das wie csv oder andere abgegrenzt ist. Mir ist klar, dass dies nicht der Fall ist - ich habe mehr Informationen über die Art des 'binären Formats' angefordert, das wir replizieren müssen. –

0

Mit SAS, Ausgabe einer .csv-Datei; Öffnen Sie es in Excel und speichern Sie das Format, das Ihr Kunde wünscht. Sie können diesen Prozess mit ein wenig Scripting in ### automatisieren. (Ersetzen Sie ### durch Ihre bevorzugte Skriptsprache.)