Python rpy2不翻译_&引用;进入“中”&引用;

Python rpy2不翻译_&引用;进入“中”&引用;,python,r,rpy2,Python,R,Rpy2,我正在尝试使用rpy2从R导入的函数“read.csv”读取Python中的csv文件 r_read_csv = robjects.r['read.csv'] r_read_csv("initVar.csv", header = True, row_names = 1) 但是,上面的代码返回一个错误消息: rpy2.rinterface_lib.embedded.RRuntimeError: Error in read.table(file = file, header = header, s

我正在尝试使用rpy2从R导入的函数“read.csv”读取Python中的csv文件

r_read_csv = robjects.r['read.csv']
r_read_csv("initVar.csv", header = True, row_names = 1)
但是,上面的代码返回一个错误消息:

rpy2.rinterface_lib.embedded.RRuntimeError: Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
    unused argument (row_names = 1)
在R中,参数的名称是
行。名称
。但是,我不能使用点,因为它在Python中的含义不同

我以为rpy2会把“u”翻译成“.”。至少这是我从他们那里了解到的。显然,我错了


问题:在这种情况下,如何指定
row.names=1

我确实重现了一个有趣的错误!它出现在
rpy2
中的
read.csv
不继承其父函数
read.table
,因此无法识别行名称参数。但是,您可以使用
read.table
确保指定
read.csv
的默认值:

read_tbl = robjects.r['read.table']

rdf = read_tbl("/path/to/data.csv", header = True, row_names = 1, sep = ",")
类似地,如果对utils包使用
importr
方法:

from rpy2.robjects.packages import importr
...
utils = importr("utils")

rdf = utils.read_table("/path/to/data.csv", header = True, row_names = 1, sep = ",")

但是,以下两种方法在Python中都不起作用,但在R中却起作用:

蟒蛇

read_csv = robjects.r['read.csv']
rdf = read_csv("/path/to/data.csv", row_names = 1)

utils = importr("utils")
rdf = utils.read_csv("/path/to/data.csv", row_names = 1)
R


df根据
row_names=1
即使
row.name=1
也没有用,因为在第一行没有列标题的情况下,默认行为是将第一列作为名称。如果您得到所需的输出,请删除它并重试。“在没有列标题的情况下”-但我确实有列标题(请参阅header=True)。所以我认为你的建议不适用于这种情况?谢谢,效果很好!如果可以的话,如果你能向我解释一下你是如何找到答案的,我将不胜感激?你是怎么想的,你采取了什么步骤。这将有助于我下次自己找到答案。这是更多的知识和经验。在此之前,我知道
rpy2
使用下划线转换句点名称。因此,首先我用
robjects
测试了
read.csv
,然后用
importr
在虚拟csv上重现您的问题。然后,知道
read.csv
read.table
函数套件的包装,我测试了
read.table
,发现它确实有效。我还查看了
行。name
read.csv
中未作为命名参数公开,从而得出结论
rpy2
不继承其父调用方。
df <- read.csv("/path/to/data.csv", row.names = 1)