小编zak*_*191的帖子

关闭openpyxl中的文件

这些过程都没有,正如预期的那样阅读文档:

worksheet.close()
workbook.close()
Run Code Online (Sandbox Code Playgroud)

有没有办法在openpyxl中完成后关闭文件?或者在程序退出时自动处理?我不想让电子表格留在内存中.

python file openpyxl

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

有没有办法在 openpyxl 中获取工作簿的名称

有 worksheet.title 方法,但没有 workbook.title 方法。查看文档,没有明确的方法来找到它,我不确定是否有人知道解决方法或技巧来获取它。

python excel openpyxl

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

对包含列表的列表进行排序

我有一个算法生成一个包含未知数量的子列表的列表,每个子列表具有未知数量的字符串元素以及一个浮点数.我需要根据这个浮点数在主列表中排序这些子列表.此外,不重新排列子列表中的字符串的顺序.

我目前正在运行一段代码(下面链接),使用dict对其进行排序.你可以看到我正在获得KeyErrors.我之前没有使用过dicts,所以我不知道从哪里开始.如果有一个更好的方式,那么一个词也可以打开.http://ideone.com/wr8UA

花车不是顺序的,我不知道这是多大的交易,这是使用我有的方法.意思是,偶尔会跳过数字(在Ideone的示例列表中,它们是1.0,2.0,4.0;跳过3.0以在运行时模拟这种情况).它们也不在子列表中的任何特定位置,因此所有for循环都在搜索它们.

希望这很清楚,我之前尝试过这样做并且得到了回报而不是关于什么让人困惑的问题.如果有什么不对劲,请告诉我.感谢大家!

编辑:按要求在正文中编码:

listed = [ ["1 NWZ", "1 RWZ", "2 NWZ", "2 RWZ", "1E HZ", "1W HZ", "1-2EHZ", 2.0, "2W HZ"],
["1 NWZ", "1W HZ", "3E FZ", "SNOK", "POK", 3.0, "1-2EHZ", "2E AK", "2W HZ"],
["1 BW", "1AW AS", "3E FZ", "1BWAK", "POK", "TESTK", "1-2EHZ", "2E AK", 1.0]] 

dictionary={}
for sub_list in listed:
    for value in sub_list:
        if isinstance(value,float):
            dictionary[str(value)]=sub_list
        else:
            pass
ordered_list=[]
    for i in range(1,len(listed)+1):
    if dictionary[str(i)]:
        ordered_list.append(dictionary[str(i)])

for sub_list in ordered_list:
    print sub_list
Run Code Online (Sandbox Code Playgroud)

python sorting dictionary list

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

在python的for循环的最后一次迭代期间执行操作

我有一个解析文本文件行的循环:

for line in file:
    if line.startswith('TK'):
        for item in line.split():
            if item.startwith('ID='):
                *stuff*
            if last_iteration_of_loop
                *stuff*
Run Code Online (Sandbox Code Playgroud)

我需要做一些任务,但我不能这样做,直到第二个for循环的最后一次迭代.有没有办法检测到这一点,或者知道我是否在最后一项line.split()?作为一个注释,item第二个for循环中的s是字符串,我在运行时它们的内容是未知的,所以我不能寻找一个特定的字符串作为标志让我知道最后.

谢谢!

python for-loop

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

使用openpyxl从excel中的列中获取值

我本打算使用这里答案中的代码来做到这一点,在最后一个代码块中。但是,我在行中收到一条错误消息,for cell in ws.iter_rows(range_string=range_expr):指出“工作表对象没有属性 iter_rows”。知道我在这里做错了什么吗?

python excel openpyxl

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

如何在不使用swing类/方法的情况下嵌套布局管理器?

我需要制作一个Java 6,640*480像素的applet,底部有一个带有一些按钮,滚动条和标签的工具栏.我能想到的最好的方法是使用a BorderLayout,使BorderLayout.SOUTH区域成为a GridBagLayout(包含控件),其余BorderLayout区域为null,作为用控件绘制图形的地方.我在网上找不到任何不使用swing的资源,而且我不知道有什么关于swing来推断他们正在做什么或如何将它翻译成awt代码.这是我现在的位置.代码突然结束init(),因为这是布局管理器开始的地方.感谢您的帮助.如果您需要更多信息,请告知我们.

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Bounce extends Applet implements ActionListener, AdjustmentListener
{
    private static final long serialVersionUID = 1L;
    private Graphics page;
    //buttons
    String shapeButtonText = "Square";
    Button shape = new Button(shapeButtonText);
    Button quit = new Button("Quit");
    Button run = new Button("Run");
    Button tail = new Button("Tail");
    Button clear = new Button("Clear");

    //labels
    Label speedLabel = new Label("Speed", Label.CENTER);
    Label sizeLabel = new Label("Size", Label.CENTER); …
Run Code Online (Sandbox Code Playgroud)

java applet awt layout-manager java-6

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

垂直滚动条返回的值与Java applet中的相反值相反

我有一个早期阶段的Java小程序,有2个垂直滚动条.当一个更改后,另一个更改,其旁边的标签将更新为滚动条的值.这是有效的,但返回的值将从它们应该是的内容中翻转.在滚动条的初始化中,最大值和最小值是正确的值并正确放置在语句中.当条形被拖动到最大值时,最小值显示在标签中,反之亦然.我不知道我是否初始化错误或者计算要显示的值背后的数学是错误的.

作为注释,所使用的所有数字都是代表性的,或华氏度,开尔文度或兰金度.

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.text.DecimalFormat;

public class Exam2 extends Applet implements AdjustmentListener
{
    //variables from the HTML file
    String unit = "K";
    double temp = 0;
    Dimension APPSIZE = this.getSize();

    //variables for temperature
    double curK, curR;
    double fmin = -50.0, fmax = 250.0;
    double minK = (fmin + 459.67) * (5.0/9.0);
    double maxK = (fmax + 459.67) * (5.0/9.0);
    double minR = fmin + 459.67;
    double maxR = fmax + 459.67;
    DecimalFormat df = new …
Run Code Online (Sandbox Code Playgroud)

java awt scrollbar

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

C中的递归因子程序在执行时挂起

我正在编写一个程序来显示计算给定数量200万次的阶乘所需的时间.我是在C/C++ Eclipse环境中使用Debian Linux编写的.当程序到达时int temp = n * rfact(n-1);,它会挂起并且不会执行任何其他操作.

这是我到目前为止所得到的:

#include <stdio.h>
#include <time.h>

//prototypes
int rfact(int n);

main()
{
    int n = 0;
    int i = 0;
    double result = 0.0;
    clock_t t;
    printf("Enter a value for n: ");
    scanf("%i", &n);

printf("n=%i\n", n);

    //get current time
    t = clock();

    //process factorial 2 million times
    for(i=0; i<2000000; i++)
    {
        rfact(n);
    }

    printf("n=%i\n", n);

    //get total time spent in the loop
    result = (clock() - t)/(double)CLOCKS_PER_SEC;

    //print result
    printf("runtime=%d\n", result); …
Run Code Online (Sandbox Code Playgroud)

c eclipse recursion factorial

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

在python中将两个预先排序的列表打印到一个输出文件中

我有两个列表已经按需要排序,我需要将它们放入一个文件中,如下例所示:

list1 = [a, b, c, d, e]
list2 = [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

输出文件应如下所示:

a1
b2
c3
d4
e5
Run Code Online (Sandbox Code Playgroud)

我是相当新的python,所以我真的不知道怎么做文件写.我读取使用with open(file, 'w') as f:是一种更好/更简单的方式来启动写入块,但我不确定如何合并列表并打印它们.我可以将它们合并到第三个列表中并将其打印到文件中,print>>f, item但我想看看是否有更简单的方法.

谢谢!

延迟编辑:查看我的列表,它们的长度不一样,但所有数据都需要打印.因此,如果list2转到7那么输出将需要是:

a1
b2
c3
d4
e5
6
7
Run Code Online (Sandbox Code Playgroud)

反之亦然,其中list1可能比list2长.

python merge file-io list

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

确定一行是否具有在python中未关闭的括号或引号

我正在寻找一种简单的方法来打开一个文件,并搜索每一行,看看该行是否有未关闭的parens和引号.如果该行具有未闭合的parens/quotes,我想将该行打印到文件中.我知道我可以用一个丑陋的if/for语句来做这件事,但我知道python可能有一个更好的方法与re模块(我什么都不知道)或其他东西,但我不知道语言足够好这样做.

谢谢!

编辑:一些示例行.如果将其复制到记事本或其他内容并关闭自动换行(某些行可能很长),可能更容易阅读.此外,文件中有超过100k行,所以有效的东西会很棒!

SL  ID=0X14429A0B TY=STANDARD OWN=0X429A03 EXT=22 SLTK=0X1C429A0B MP=0X684003F0 SUB=0X24400007
RT  ID=0X18429A19 TY=CALONSC OWN=0X14429A0B EXLP=0X14429A0C CMDS=(N:0X8429A04,C:0X14429A0B) SGCC=2 REL=1 DESC="AURANT YD-INDSTRY LD" ATIS=T
RT  ID=0X18429A1A TY=CALONSC OWN=0X14429A0B EXLP=0X14429A08 CMDS=(R:0X8429A04,N:0X8429A05,C:0X14429A0B) SGCC=2 REL=2 DESC="AURANT YD TO TRK.1" ATIS=T
RT  ID=0X18429A1B TY=CALONSC OWN=0X14429A0B EXLP=0X14429A0A CMDS=(R:0X8429A04,R:0X8429A05,C:0X14429A0B) SGCC=2 REL=3 DESC="AURANT YD TO TRK.2" ATIS=T
SL  ID=0X14429A0C TY=STANDARD OWN=0X429A03 EXT=24 SLTK=0X1C429A0B MP=0X684003F1 SUB=0X24400007
RT  ID=0X18429A1C TY=CALONSC OWN=0X14429A0C EXLP=0X14429A0B CMDS=(N:0X8429A04,C:0X14429A0C) SGCC=2 REL=1 DESC="AURANT YD-INDSTRY LD" ATIS=T
TK  ID=0X1C429A08 TY=BLKTK OWN=0X429A03 EXT=12 LRMP=0X6C40BDAF LEN=5837 FSPD=60 PSPD=65 QUAL=TRK.1 MAXGE=0 …
Run Code Online (Sandbox Code Playgroud)

python regex string

0
推荐指数
2
解决办法
2386
查看次数