小编chu*_*ngh的帖子

Python字典的推荐用法,作为值的功能

我正在寻找一些帮助,以了解Python中有关字典的最佳实践.

我有一个例子如下:

def convert_to_celsius(temp, source):
    conversion_dict = {
        'kelvin': temp - 273.15,
        'romer': (temp - 7.5) * 40 / 21
    }
    return conversion_dict[source]


def convert_to_celsius_lambda(temp, source):
    conversion_dict = {
        'kelvin': lambda x: x - 273.15,
        'romer': lambda x: (x - 7.5) * 40 / 21
    }
    return conversion_dict[source](temp)
Run Code Online (Sandbox Code Playgroud)

显然,这两个功能实现了相同的目标,但是通过不同的手段.有人能帮助我理解两者之间的细微差别,以及关于这个的"最佳"方式是什么?

python

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

如何使用ggplot2在堆积条形图中显示值0

我已设法使用ggplot2创建堆积条形图,但其中一个数据值为0.有没有办法显示除0以外的所有其他数据值?

dat <- data.frame(matrix(NA, ncol=3, nrow=21))
names(dat) <- c("Var1", "Var2", "Freq")

dat$Var1 <- c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7)
dat$Var2 <- rep(letters[1:7],3)
dat$Freq <- c(3,11,1,5,9,4,1,5,4,0,7,2,5,2,3,11,11,15,5,10,10)
dat <- ddply(dat, .(Var1), transform, pos = cumsum(Freq)-0.5*Freq) ## pos is to place data values at the mid point.


ggplot(dat, aes(x=factor(Var1), y=Freq)) + 
    geom_bar(stat="identity", aes(fill = Var2)) + 
    geom_text(aes(label=Freq, y = pos), size=3)
Run Code Online (Sandbox Code Playgroud)

编辑:提供可重现的数据.

r ggplot2

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

涉及Outlook通过win32com的Python脚本在双击时运行,但不通过任务调度程序运行

我有一个python脚本,使用win32com和Outlook发送电子邮件.当我通过解释器运行它或双击脚本时,脚本运行顺利.但是,当我通过任务计划程序运行它时,我收到以下消息:

"出了点问题.我们无法启动您的程序.请尝试重新启动它.如果无法启动,请尝试从"控制面板"中的"程序和功能"修复Office.

我正在使用Office 365和Python 2.6.我在尝试杀死Outlook进程后尝试通过调度程序运行脚本,但我遇到了同样的问题.

python scheduler win32com

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

使用 Python 通过 Outlook 发送高重要性电子邮件

使用 win32com.client 包,我可以通过 Python 使用 Outlook 发送 HTML 电子邮件。但是,我很难弄清楚如何将电子邮件标记为“高优先级”或“高重要性”。

这是我用来成功发送电子邮件的代码(没有优先级标记):

RTFTEMPLATE = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
08.00.0681.000">
<TITLE>%s</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT =
FACE="Times New Roman">
%s
</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
<br>
%s
</BODY>
</HTML>"""

Format = { 'UNSPECIFIED' : 0, 'PLAIN' : 1, 'HTML' : 2, 'RTF'  : 3}
profile = "Outlook"


#session = win32com.client.Dispatch("Mapi.Session")
outlook = …
Run Code Online (Sandbox Code Playgroud)

python outlook win32com

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

如何下载网页的源代码?

当我使用FireFox的'Inspect Element'功能时,HTML源文件中没有显示div标签.换句话说,我需要的信息是JavaScript代码,但不是HTML页面源代码.有没有办法将这些信息读入R?

我发现了一个类似的问题:如何使用R查看网页源代码?

使用建议的代码:

mz <- socketConnection("localhost", "4242")
writeLines("var w=window.open(\"https://google.com\")\n",mz)
out <- readLines(mz) #empty the buffer
writeLines("w.document.getElementsByTagName('html')[0].innerHTML\n", mz)
out <- readLines(mz)
str(out)
Run Code Online (Sandbox Code Playgroud)

但它为我返回chr(0).

有人可以帮助解决上述R代码,或建议替代解决方案吗?

谢谢.

已解决:上面的代码以前没有工作,但是由于没有足够的时间来加载页面.可能不是解决这个问题的最有效方法,但仍然是一个解决方案.感谢大家

html javascript r

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

标签 统计

python ×3

r ×2

win32com ×2

ggplot2 ×1

html ×1

javascript ×1

outlook ×1

scheduler ×1