我正在使用Pandas数据框。

我已加载所有数据,并已完成所有想执行的操作。

我正在寻找可以采用此数据帧并将行复制到表中的特定代码行,该表已作为.tde提取的一部分进行了定义。

如果有人对此有经验,我很乐意看到您写的内容。网上有一些示例,其中将.csvreader与python一起使用,它在行中循环并在读取行时将其添加,但是我找不到如何获取存储在数据帧中的数据并将其应用于作为一部分定义的表中的任何示例提取物。

编辑:所以此刻我正试图遍历每一列,逐行并添加每个特定的单元格。由于某种原因,我会抛出此错误。

colnames = all_data.columns

for r in range(0, len(all_data)):
newrow = tde.Row(tableDef)
for c in range(0, len(colnames)):
    if str(colnames[c]) == 'Run Date':
        newrow.setCharString(c, all_data.iloc[r,c])
    elif str(colnames[c]) == 'Sales Order':
        newrow.setCharString(c, all_data.iloc[r,c])
    else:
        newrow.setNull(c)

table.insert(newrow)

TypeError                                 Traceback (most recent call last)
<ipython-input-27-db8a798ec66b> in <module>()
      5             newrow.setCharString(c, all_data.iloc[r,c])
      6         elif str(colnames[c]) == 'Sales Order':
----> 7             newrow.setCharString(c, all_data.iloc[r,c])
      8         else:
      9             newrow.setNull(c)

    C:\Anaconda\lib\site-packages\dataextract\Base.pyc in setCharString(self, columnNumber, value)
    335             self._handle
    336           , c_int(columnNumber)
--> 337           , c_char_p(value)
    338         )
    339

TypeError: string or integer address expected instead of numpy.int64 instance

最佳答案

Tableau提供了用于创建数据提取(TDE)文件-DETAILSDOWNLOAD的API

使用API​​的Python驱动程序,您可以轻松转换数据框。

有关如何将数据转换为TDE格式的信息,请参见this post

关于python - 如何将 Pandas 数据框添加到.tde?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28685186/

10-12 17:17
查看更多