小编Jon*_*Jon的帖子

xlwings 与 openpyxl 阅读 Excel 工作簿之间的差异

我大多只使用 xlwings 打开 ( read-write) 工作簿(因为我阅读的工作簿有复杂的宏)。但是我最近开始使用 openpyxl 打开 ( read-only) 工作簿,因为我需要阅读数千个工作簿来抓取一些数据。

我注意到 xlwings 和 openpyxl 读取工作簿的方式有很大的不同。我相信 xlwings 依赖于pywin32阅读工作簿。当您阅读工作簿时xlwings.Book(<filename>),实际工作簿会打开。我有一种感觉,这是一个结果pywin32

但是,使用openpyxl.load_workbook(<filename>)工作簿时不会出现窗口。我有一种感觉,这是不使用pywin32.

除此之外,我没有进一步了解后端如何为每个库工作。有人可以对此有所了解吗?依赖xlwingspywin32阅读工作簿是否有好处/成本,而openpyxl不是似乎没有使用pywin32

python excel openpyxl xlwings

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

PySpark分发模块导入

在过去的几天里,我一直在努力了解Spark执行者如何知道在导入时如何使用给定名称的模块.我正在使用AWS EMR.情况:我通过键入来初始化EMR上的pyspark

pyspark - 主纱

然后,在pyspark,

import numpy as np ## notice the naming

def myfun(x):
    n = np.random.rand(1)
    return x*n

rdd = sc.parallelize([1,2,3,4], 2)
rdd.map(lambda x: myfun(x)).collect() ## works!
Run Code Online (Sandbox Code Playgroud)

我的理解是,当我输入numpy as np,主节点导入和识别的唯一节点numpy通过np.然而,与EMR簇(2个工作者节点),如果我上运行RDD地图功能,驱动程序发送功能的工作节点执行用于列表中每个项目的功能(对于每个分区),和一个返回成功结果.

我的问题是:工人们如何知道numpy应该作为np导入?每个worker都已经安装了numpy,但是我没有为每个节点明确定义一种导入模块的方法as np.

有关依赖关系的更多详细信息,请参阅Cloudera的以下帖子:http: //blog.cloudera.com/blog/2015/09/how-to-prepare-your-apache-hadoop-cluster-for-pyspark-jobs/

Complex Dependency下,他们有一个示例(代码),其中pandas模块在每个节点上显式导入.

我听说过的一个理论是驱动程序分发在pyspark交互式shell中传递的所有代码.我对此持怀疑态度.我提出的反驳这个想法的例子是,如果在主节点上我输入:

print "hello"
Run Code Online (Sandbox Code Playgroud)

是每个工人节点还打印"你好"?我不这么认为.但也许我错了.

python apache-spark pyspark

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

标签 统计

python ×2

apache-spark ×1

excel ×1

openpyxl ×1

pyspark ×1

xlwings ×1