小编adh*_*dhg的帖子

如何用前导零写入csv?

我想写一些CSV文件中的一些数据.我输入信息的列之一是带有前导零的整数形式,例如:0000000013.

出于某种原因,excel'将'转换为13,我必须使用10位数(0000000013).任何人都可以告诉我们如何规避这一点?

String value = "0000000013"; //I tried String.format("%8d", 13) doesn't work
printWriter.println(value);
Run Code Online (Sandbox Code Playgroud)

谢谢!!!

java csv string format printwriter

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

试图保护PDF(iText)试图禁止用户复制pdf的内容

以下是我的代码.我的目标是创建一个PDF,其中最终用户可以做任何他们想做的事情除了复制文本(选择文本和COPY到记事本).任何人都可以解释第18行应该有哪些代码?我允许打印但不允许ALLOW_COPY)

我的印象是,下面的代码足以限制用户这样做,但"事实上"他们能够复制所选文本并将内容粘贴到记事本中.

非常感谢!

package com.itext;

import java.io.FileOutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.IOException;
import com.itextpdf.text.DocumentException;

public class ProtectMePdf 
{ 
public static void main(String[] args) throws IOException, DocumentException 
{
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("/Users/adhg/protectMe.pdf"));

    //LINE 18: what's wrong with this line? - if you run the code you will be able to copy the selected text. 
    writer.setEncryption(null, null, PdfWriter.ALLOW_PRINTING, PdfWriter.STANDARD_ENCRYPTION_128);


    writer.createXmpMetadata();
    document.open();
    document.add(new Paragraph("Protect me! if you can do copy-paste of this message …
Run Code Online (Sandbox Code Playgroud)

java pdf copy-protection itext pdf-writer

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

如何将前一行结果应用于pandas

我试图了解如何在python pandas中解决这个问题.我的目标是用初始投资填写"结果"栏,并在之前的结果之上应用利润.

因此,如果我使用excel电子表格,我会这样做:

  1. 问什么是initial_investment(在这个例子中是350美元)
  2. 将第一行计算为利润/ 100*initial_investment + initial_investment
  3. 第二个和第四个将是相同的,除了"initial_investment"在上面的原始.

在此输入图像描述

我最初的python代码就是这个

import pandas as pd
df = pd.DataFrame({"DATE":[2009,2010,2011,2012,2013,2014,2015,2016],"PROFIT":[10,4,5,7,-10,5,-5,3],"RESULT":[350,350,350,350,350,350,350,350]})
print df
Run Code Online (Sandbox Code Playgroud)

python excel pandas

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

用于关联字典列表和列表列表的pythonian one-liner

给出一个项目列表[音乐家]和一个词典列表[instrumets]如何以pythonic方式将它们之间的关联

因此,为了简化我的真实场景,请考虑以下事项:

musicians  = [[700,"James","Hetfield", "jh@metallica.com","N/A"],
              [701,"Lars","Ulrich","lu@metallica.com","N/A"],
              [702,"Kirk","Hammett","kh@metallica.com","N/A"],
              [703,"Robert","Trujillo", "rt@metallica.com","N/A"]]

instruments= ({700:"guitar"},{701:"drums"})
Run Code Online (Sandbox Code Playgroud)

我的目标是用乐器中的乐器取代N/A音乐家.

下面的代码将成功(但直觉来自java/c ++)

for m in musicians:
    for i in instruments:
        if m[0] in i:
            m[4]=i[m[0]]
Run Code Online (Sandbox Code Playgroud)

并且正确的期望结果将是:

[[700, 'James', 'Hetfield', 'jh@metallica.com', 'guitar'], [701, 'Lars', 'Ulrich', 'lu@metallica.com', 'drums'], [702, 'Kirk', 'Hammett', 'kh@metallica.com', 'N/A'], [703, 'Robert', 'Trujillo', 'rt@metallica.com', 'N/A']]
Run Code Online (Sandbox Code Playgroud)

问:有没有经典的方法在python中做到这一点?

python dictionary list

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

OpenCV 检测 ROI,创建 submat 并复制到原始 mat

我正在尝试将图像中所有人的脸变成灰色。虽然我可以检测到他们的脸部并将其灰色化为较小的垫子,但我无法将灰色的脸部“复制”到原始垫子上。这样最终的结果将是一个所有面都是灰色的垫子。

        faceDetector.detectMultiScale(mat, faceDetections);
        for (Rect rect : faceDetections.toArray()) 
        {   
            Rect rectCrop = new Rect(rect.x, rect.y, rect.width, rect.height);
            Mat imageROI = new Mat(mat,rectCrop);

            //convert to B&W 
            Imgproc.cvtColor(imageROI, imageROI, Imgproc.COLOR_RGB2GRAY);

            //Uncomment below will grayout the faces (one by one) but my objective is to have them grayed out on the original mat only.
            //Highgui.imwrite(JTestUtil.DESKTOP_PATH+"cropImage_"+(++index)+".jpg",imageROI);

            //add to mat? doesn't do anything :-(
            mat.copyTo(imageROI); 
        }
Run Code Online (Sandbox Code Playgroud)

java opencv roi mat

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

VBA函数打印数组导致活动单元格

我想编写一个函数,其结果应该在一系列单元格中打印/写入数组.

活动单元应该是第一个元素,下面的下一个单元格是第二个元素(依此类推).因此,例如,如果我当前的活动单元格是B2,则所需结果应如下图所示.

我的代码仅适用于Debug.Pring,但我无法弄清楚如何在excel表上实际使用它.

Function ShowResult()

Dim strArray() As String
Dim result As String
result = "Maybe I think too much but something's wrong"
strArray = Split(result, " ")

Dim StartRow, i As Integer
StartRow = 1

For i = 0 To UBound(strArray)
    Debug.Print strArray(i)
    'Range("A" & i + StartRow).Value = strArray(i) <--I tried even with this, didn't work!
Next
End Function
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

excel vba function excel-vba subroutine

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