开发者问题收集

TabPy-无效的文件路径或缓冲区对象类型

2018-01-03
1077

最近开始使用 TabPy。

我发现 Python 代码无法直接在 Tableau 中运行(通常在 Python 环境中运行良好),或者我可能做错了什么。

这是我面临的问题 -

我编写了代码

FLOAT(SCRIPT_REAL('

import pandas as pd
import numpy as np
from scipy import stats


# In[152]:

# Reading input file

data_file = pd.read_csv(_arg1)
a1 = data_file([Actualmax])
return a1' , '/User/****/caution new/7S.csv

# In[153]:

# Calculate Mean

mn = np.mean(a1)
return mn


'))

使用它从文件 7S 中的 actualmax 列中找到平均值。 相同的代码在 Python 中运行良好,但不知何故我收到了一条错误消息 -

Error Message

之后,我甚至尝试了这样的事情 - 使用列作为参数而不是从本地系统导入文件,因为该文件已经在 Tableau 中

INT(SCRIPT_STR("

import pandas as pd
import numpy as np
from scipy import stats

# In[152]:

# Reading input file

data_file = pd.read_csv(_arg1)

# In[153]:

# Calculate Mean

mn = np.mean(_arg1)
return mn

",SUM([Actualmax])))

没有语法错误,但错误仍然相同。

当我写这样的内容时,我得到了结果 -

SCRIPT_INT("

import pandas as pd
import numpy as np
from scipy import stats

# In[152]:

# Reading input file

#data_file = pd.read_csv(arg)

# In[153]:

# Calculate Mean

mn = np.mean(arg)
return mn


",AVG([Actualmax]))

但这不是我想要的 - 因为它使用的是 Tableau 内部的 AVG 函数而不是 Python 的强大功能。

我在这里做错了什么?我该怎么做?

1个回答

显然答案很简单 - 我按照下面给出的链接中的 Bora Beran 的帖子操作 - https://community.tableau.com/docs/DOC-10856

在部分 - 使用每一行数据 - 分解数据

新代码是

(SCRIPT_REAL("

import numpy as np
# Normality test

#return _arg1

mn = np.mean(_arg1)
return mn


",ATTR([Actualmax])))

希望这对遇到此问题的其他任何人有所帮助。

祝您使用 Tableau 愉快。

Pragyan Bezbaruah
2018-01-04