2016-11-27 8 views
1
erstellten Csv-Dateieingabe

Ich verwende eine C# (asp.net MVC) Anwendung, um eine CSV-Datei zu erstellen. Diese CSV-Datei wird dann als Eingabe für ein R-Skript verwendet.R Berechtigungsverweigerung bei Verwendung einer in C#

Beim Versuch, den R-Skript mit der CSV-Datei von der Anwendung erstellt auszuführen erhalte ich die Fehlermeldung: kann Datei nicht öffnen: Erlaubnis

jedoch

verweigert, wenn ich die CSV-Datei öffnen und erneut speichert es dann der R-Skript wird ordnungsgemäß ausgeführt.

Mein C# -Code:

if (!System.IO.File.Exists("RCodeInput.csv")) { 
    string[] header = new string[] { "ID, FolderName" }; 
    System.IO.File.WriteAllLines(filename, header); 
} 

// Within a loop (some logic to create ID and FolderName) 
string[] to_write = new string[] { "ID_ToWrite, FolderName_ToWrite" }; 
System.IO.File.AppendAllLines(filename, to_write); 

Alle Ideen, wie dies zu sparen mit der richtigen Sicherheit/Berechtigungen?

+0

Kann relevant sein: http://stackoverflow.com/questions/5156254/closing-a-file-after-file-create. Ich programmiere nicht in C#, aber vielleicht erstellen die write-Anweisungen eine Instanz eines Dateiobjekts, das die Berechtigungen sperrt? Auf jeden Fall kann der Link eine alternative Strategie bieten. – mikeck

+1

Scheint nicht wie ein R-Problem. Scheint mehr wie ein Berechtigungsproblem. –

Antwort

0

(Veröffentlicht im Namen des OP).

Beim Schreiben in die CSV-Datei in der C# -Code habe ich einen Fehler gemacht, indem Sie ein Komma am Ende der letzten Zeile (Kopieren und Einfügen Fehler). Wenn read.csv in R verwendet wird, wenn eine zusätzliche Spalte definiert ist (im Vergleich zum Header), liest sie die erste Spalte als Zeilennamen und dies zwang meine Spalten dazu, nicht mit den erwarteten Werten übereinzustimmen.

Verwandte Themen