小编use*_*931的帖子

用R重塑表格 - 更好的方法?

我有一个被称为因子的数据框 questions

q1 q2 q3
A  A  B
C  A  A
A  B  C
Run Code Online (Sandbox Code Playgroud)

我想重塑一下

question answer freq
1        A      2
1        B      0
1        C      1
2        A      2
2        B      1
2        C      0
3        A      1
3        B      1
3        C      1
Run Code Online (Sandbox Code Playgroud)

我觉得应该有一种方法可以用reshape2或plyr,但我无法理解.

相反,我做了以下事情:

tbl <- data.frame()
for(i in 1:dim(questions)[2]){
    subtable <- cbind(question = rep(i, 3),
                      as.data.frame(table(questions[i])))
    tbl <- rbind(tbl, subtable)
}
Run Code Online (Sandbox Code Playgroud)

是否有更清洁的方法来重塑这张桌子?

r plyr reshape reshape2

7
推荐指数
1
解决办法
155
查看次数

使用 python win32com Outlook 选择“From”字段

我正在尝试使用 python 自动化电子邮件。不幸的是,我工作的网络管理员已阻止 SMTP 中继,因此我无法使用该方法发送电子邮件(它们是外部寻址的)。

因此,我使用 win32com 通过 Outlook 自动发送这些电子邮件。除了一件事之外,这工作正常。我想在 python 代码中选择“FROM”字段,但我根本不知道如何执行此操作。

任何见解将不胜感激。

python outlook win32com

3
推荐指数
1
解决办法
3413
查看次数

使用预先签名的URL将图像上传到S3

我一直在做一个简单的测试工作.我正在开发一个反应原生的移动应用程序.我想生成一个预先签名的URL并使用该URL将视频文件上传到s3.我目前正试图通过以下方式测试这种方法:

const file = fs.readFileSync('./video.mp4')
s3.getSignedUrl('putObject', {Bucket: 'mybucket', Key: 'video.mp4'}, (err, url) => {
  if (err) { console.log(err); }
  else {
    fetch(url, {
       method: 'PUT',
       body: file
    })
    .then(success => console.log(success.status))
    .catch(e => console.log(e))
  })
})
Run Code Online (Sandbox Code Playgroud)

我得到一个200状态代码,但S3上显示的'文件'有0个字节.我注意到当我尝试上传通过fs.readFileSync收到的任何文件时,会发生同样的事情.我设法解决这个暂时做fs.readFileSync('./ video.mp4','base64'),但这不适用于我的应用程序,因为我需要以原始格式访问视频,而不是一个base64字符串.我也成功使用了s3.upload,但这在我的应用程序中也不起作用,因为在我授予他们与s3进行交互的权限之前,我想在我的服务器上验证所有用户的操作.我真的会提出一些建议.我整天都在使用ContentTypes和ContentLengths.

javascript amazon-s3 amazon-web-services aws-sdk

1
推荐指数
1
解决办法
2649
查看次数