【问题标题】:R Permission Denied when using a csv file input created in C#使用在 C# 中创建的 csv 文件输入时,R 权限被拒绝
【发布时间】:2016-11-30 21:04:03
【问题描述】:

我正在使用 C# (asp.net MVC) 应用程序来创建 csv 文件。然后将此 csv 文件用作 R 脚本的输入。

尝试使用应用程序创建的 csv 文件执行 R 脚本时,出现错误: 无法打开文件:权限被拒绝

但是,如果我打开 csv 文件并重新保存它,那么 R 脚本可以正常执行。

我的 C# 代码:

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);

关于如何使用正确的安全性/权限保存此内容的任何想法?

【问题讨论】:

  • 可能相关:stackoverflow.com/questions/5156254/…。我没有用 C# 编程,但也许写语句正在创建一个文件对象的实例,它会锁定权限?无论如何,该链接可能会提供另一种策略。
  • 看起来不像是 R 问题。似乎更像是权限问题。

标签: c# r asp.net-mvc


【解决方案1】:

(代表 OP 发布)

在 C# 代码中写入 csv 文件时,我在最后一行的末尾添加了一个逗号,从而出错(复制和粘贴错误)。在 R 中使用 read.csv 时,如果定义了额外的列(与标题相比),它将第一列读取为行名,因此这迫使我的列与代码的预期不同步。

【讨论】:

    猜你喜欢
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2011-02-18
    相关资源
    最近更新 更多