小编riv*_*ivu的帖子

从openpyxl获取工作表名称

我有一个中等大小的xlsx文件(大约14 MB),OpenOffice挂起试图打开它.我按照本教程尝试使用openpyxl来阅读内容.代码段如下:

 from openpyxl import load_workbook
 wb = load_workbook(filename = 'large_file.xlsx', use_iterators = True)
 ws = wb.get_sheet_by_name(name = 'big_data') 
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道工作表名称,而Sheet1/Sheet2 ..等不起作用(返回NoneType对象).我找不到一个文档告诉我如何使用openpyxl获取xlsx文件的工作表名称.谁能帮我?

python excel openpyxl

37
推荐指数
3
解决办法
6万
查看次数

Scala:按顺序从列表元素创建元组列表

我对Scala很新,所以这个问题可能很天真.

我有这样的清单List[Int] = List(0, 3, 6, 12, 14, 15, 16, 17).我正在尝试创建这样的列表[(0,3),(3,6),(6,12)..],依此类推.到目前为止,这是我尝试过的:

val l1= List(0, 3, 6, 12, 14, 15, 16, 17)
var l2=scala.collection.mutable.ListBuffer[(Int,Int)]()
l1.zipWithIndex.slice(0,l1.length-1).foreach(x=>{val newval=(x._1,l1(x._2+1)); l2+=newval})
Run Code Online (Sandbox Code Playgroud)

这里有两个问题:

  1. 如果我不使用val newval,即尝试这样做l1.zipWithIndex.slice(0,l1.length-1).foreach(x=>l2+=(x._1,l1(x._2+1))),编译器说: <console>:10: error: type mismatch; found : Int required: (Int, Int) l1.zipWithIndex.slice(0,l1.length-1).foreach(x=>l2+=(x._1,l1(x._2+1))).这是为什么?
  2. 没有可变的listbuffer,怎么办呢?

functional-programming scala list immutability

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

对一组矩形进行聚类

我有一组矩形,我需要根据它们之间的欧几里得距离将它们聚集在一起。附图中解释了这种情况。附图中解释了情况

一种可能的方法是取每个矩形的中心并使用 K 均值对中心点进行聚类(距离函数将是 XY 平面中的欧几里德距离)。但是,我想知道是否有其他方法可以解决这个问题,它不通过中心点来近似矩形,而是考虑矩形的实际形状。

algorithm cluster-analysis image-processing

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

使用 PDFBox 从 PDF 页面裁剪区域

我正在尝试以编程方式从 PDF 页面中裁剪出一个区域。具体来说,我的输入将是单页 PDF 和页面上的边界框。输出将是一个包含原始 PDF 中的字符、图形路径和图像的 PDF,它应该看起来像原始 PDF。换句话说,我想要一个类似于从图像中裁剪区域的功能,但使用 PDF。

三个问题:

  1. 有可能做到吗?根据我对 PDF 的了解,这似乎是可能的。但我不是专家,所以我想先知道这里是否有我遗漏的东西。

  2. 有没有这方面的开源软件?

  3. PDFBox 目前可以这样做吗?我找不到这样的功能,但我可能已经错过了。有人知道这样做的任何尝试吗?

pdf pdfbox

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

数据类的post_init方法中定义的变量可以序列化吗?

from dataclasses import dataclass
@dataclass
class A:
    x: str
    y: str
    def __post_init__(self):
        self.z = self.x+self.y
Run Code Online (Sandbox Code Playgroud)
a = A('abc', 'def')
a.z
'abcdef'
from dataclasses import asdict
asdict(a)
{'x': 'abc', 'y': 'def'}
Run Code Online (Sandbox Code Playgroud)

可以看出,z并没有被序列化。如何序列化它(除了调用__dict__它之外)?

python python-dataclasses

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

scala:从列表中生成元组

我有一个列表val l=List(4,3,2,1),我正在尝试生成格式的元组列表,(4,3), (4,2)依此类推.

这是我到目前为止所拥有的:

for (i1<-0 to l.length-1;i2<-i1+1 to l.length-1) yield (l(i1),l(i2))

输出是: Vector((4,3), (4,2), (4,1), (3,2), (3,1), (2,1))

两个问题:

  1. 它生成一个Vector,而不是一个List.这两者有何不同?

  2. 这是这样idiomatic scala做的方式吗?我对Scala很新,所以对我来说,我学得很对.

functional-programming scala list

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

Weka K中"种子"的意义意味着聚类

WEKA SimpleKMeans实现允许用户指定一个"种子值"与-s选项.我不明白它的意思.在这个链接中,weka架构师Mark Hall说它应该生成随机数.

Weka实现应该遵循关于KMenas ++的文章(如文档中所述),如果我理解了它,则使用前面提到的论文中的方程1b,第2.2页第3页来确定聚类质心点,并且没有其他来源随机性.

任何人都可以指出我错了什么?

java cluster-analysis data-mining weka k-means

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

django render_to_response如何发送特殊字符

我有一个字符串,它将显示在html文件中.字符串中的某些单词(标记为"spc")需要以黄色背景和较大的字体显示.

我试图使用render_to_response方法将字符串(称为tdoc)发送到html文件.我用div标签替换了字符串中的'spc'标签.假设,在更换后,部分字符串是 we would seldom be prepared to <div id="spcl">examine</div> every.我的django代码看起来像render_to_response('a.html',{'taggeddoc':tdoc})

在我的CSS中,我有以下代码

 #spcl {  
background-color: #FFFF00;  
font-size:15px;  
}  
Run Code Online (Sandbox Code Playgroud)

所以,我应该看到粗体字和黄色背景中的单词检查,但我没有看到.当我查看渲染的html的源代码时,它具有以下子字符串We would seldom be prepared to &lt;div id=&quot;spcl&quot;&gt;examine&lt;/div&gt; every而不是原始字符串.

如何以所需方式显示"检查"和类似词语?

css python django django-templates render-to-response

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

Java Arraylist clearing:clear()的工作原理

我有一个对象mypath的2D列表List<List<Object>> mypath = new ArrayList<List<Object>>();.假设我有以下代码行

  mypath.add(temppath);
  System.out.println("mypath: "+mypath.get(mypath.size()-1));
  temppath.clear();
  System.out.println("mypath: "+mypath.get(mypath.size()-1));
Run Code Online (Sandbox Code Playgroud)

我从第一个print语句中看到一个对象列表,但是从第二个print中看到一个空列表.当我清除temppath时,mypath的元素也会被清除.有办法解决这个问题吗?我可以清除temppath,而不清除mypath的最后一个元素吗?

java arraylist

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

numpy 其中比较数组作为一个整体

我有一个数组x=np.array([[0,1,2,],[0,0,0],[3,4,0],[1,2,3]]),我想获取 x=[0,0,0] 处的索引,即 1。我尝试np.where(x==[0,0,0])导致(array([0, 1, 1, 1, 2]), array([0, 0, 1, 2, 2])). 我怎样才能得到想要的答案?

python arrays numpy

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

Scala:从匹配条件的列表中返回元素

我有一个列表,我正在尝试编写一个函数returnMatchedElement(x:Int,y:Int,f:(Int,Int)=>Boolean),如果某个条件匹配列表的元素,它将返回该元素.这是我到目前为止所得到的:

def returnMatchedElement(x:Int,l:List[Int],f:(Int,Int)=>Boolean):Int={
 for (y<-l if f(x,y)) yield y 
0}
def matchElements(a:Int,b:Int):Boolean= {if a==b true else false} 
val l1=List(1,2,3,4,5)

returnMatchedElement(3,l1,matchElements)
res13: Int = 0 
Run Code Online (Sandbox Code Playgroud)

我猜我在理解yield关键字方面遇到了问题.我在这里弄错了什么?

编辑

下面的答案有效(感谢),但前提是f返回布尔值.我尝试了另一个这样的例子

def matchElements(a:Int,b:Int):Int= {if (a==b) 1 else 0} 
def returnMatchedElement(x:Int,l:List[Int],f:(Int,Int)=>Int):Option[Int]={l.find(y => f(x, y))}
Run Code Online (Sandbox Code Playgroud)

现在编译器说

<console>:8: error: type mismatch;
 found   : Int
 required: Boolean
       def returnMatchedElement(x:Int,l:List[Int],f:(Int,Int)=>Int):Option[Int]={l.find(y => f(x, y))}
Run Code Online (Sandbox Code Playgroud)

scala list yield-keyword

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