小编Jea*_*ett的帖子

Openpyxl设置数字格式

可以请某人展示将数字格式应用于单元格的示例.例如,我需要科学的格式,形式就像'2.45E + 05',但我无法想象如何在openpyxl中做到这一点.

我试过几种方法但是在保存工作簿时它们都报告错误.

例如:

    import openpyxl as oxl

    wb = oxl.Workbook()
    ws = wb.create_sheet(title='testSheet')
    _cell = ws.cell('A1')
    _cell.style.number_format = '0.00E+00'
Run Code Online (Sandbox Code Playgroud)

或者这(我在这里尝试使用一些预定义的数字格式,我也看到内置工程格式,但不知道如何访问它:

    nf = oxl.style.NumberFormat.FORMAT_NUMBER_00
    _cell.style.number_format = nf
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我都得到同样的错误:

C:\Python27\openpyxl\cell.pyc in is_date(self)
    408         """
    409         return (self.has_style
--> 410                 and self.style.number_format.is_date_format()
    411                 and isinstance(self._value, NUMERIC_TYPES))

AttributeError: 'str' object has no attribute 'is_date_format'
Run Code Online (Sandbox Code Playgroud)

我已经看到了这个问题:在Openpyxl中设置样式 但它没有帮助,因为我不必更改任何其他格式设置.

python openpyxl

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

减少std :: map的结尾

这是我的代码:

#include <iostream>
#include <map>
using namespace std;

int main() {
    map<int , int > myMap;

    map<int , int>::iterator it;

    myMap.insert(pair<int , int>(1,2));
    myMap.insert(pair<int , int>(671,223));
    myMap.insert(pair<int , int>(353,245352));

    it = myMap.end() - 1;

    cout << it->first << it->second << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译此代码会产生以下编译错误:

error: no match for ‘operator-’ (operand types are ‘std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}’ and ‘int’)
  it = myMap.end() - 1;
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我会收到此错误,因为我认为所有类型的迭代器都允许算术运算.

c++ stl

26
推荐指数
2
解决办法
2793
查看次数

启动路径包含空格的程序

我需要使用VBScript在本地系统中启动程序.但我的语法有问题.这就是我现在正在使用的 -

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing
Run Code Online (Sandbox Code Playgroud)

上面的代码成功启动了IE.我想推出其他浏览器.但是,如果我使用 -

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误,说找不到文件或路径.我不确定如何使用Run()函数中的参数 - 我应该给EXE的路径还是应该给出一些DOS命令?!

vbscript

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

`int`数组中的输出无效

我正在努力学习指针,我刚遇到一个我不明白的情况.

int main()
{
  int num[3][2]={3,6,9,12,15,18};
  printf("%d %d",*(num+1)[1],**(num+2));
}
Run Code Online (Sandbox Code Playgroud)

据我所知,输出应该是:

12 15
Run Code Online (Sandbox Code Playgroud)

但实际上它是:

15 15
Run Code Online (Sandbox Code Playgroud)

为什么?请澄清在这里如何计算事物,我认为首先*(num+1)计算并指向第一个{9,12},然后[1]应该取消引用第一个元素即12.

我正在使用GCC编译器.

c pointers

24
推荐指数
3
解决办法
1432
查看次数

为什么[[]] [0] ++可以工作但[] ++会引发运行时异常?

为什么第一行在第二行抛出时工作run-time exception

第一行:

[[]][0]++; //this line works fine
Run Code Online (Sandbox Code Playgroud)

第二行:

[]++; //this lines throws exception
Run Code Online (Sandbox Code Playgroud)

javascript

24
推荐指数
3
解决办法
854
查看次数

MySQL PHP不兼容

我在本地运行WAMP,但连接到远程MySQL数据库.PHP的本地版本是最新的5.3.0.

其中一个远程数据库,版本5.0.45工作正常.但是,我正在尝试连接的另一个远程数据库,即版本5.0.22在死亡之前抛出以下错误:

警告:mysql_connect()[function.mysql-connect]:OK数据包比预期的短6个字节.PID = 5880 in ...

警告:mysql_connect()[function.mysql-connect]:mysqlnd无法使用旧身份验证连接到MySQL 4.1+ ...

WTF?

更新:

恢复到PHP 5.2.*即低于5.3.0的任何内容都可以完全解决问题.只要我没有运行5.3.0,我就可以连接到两个数据库.我不确定这种奇怪的解释是什么.

php mysql

23
推荐指数
2
解决办法
6万
查看次数

响应式设计与自适应设计

您能以一种简单的方式解释RWD(响应式网页设计)和AWD(自适应网页设计)之间的区别吗?

responsive-design adaptive-design

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

python程序中的.pyw文件

我是Python编程的新手.任何人都可以解释*.pyw文件是什么以及它是如何工作的.

python python-3.x

23
推荐指数
2
解决办法
2万
查看次数

安装intl PHP扩展OSX High Sierra

如何在PHP 7.1.7中安装intl PHP扩展,这是与osx high sierra一起提供的?

php intl macos-high-sierra

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

使用VBA查找Excel工作表中的非空白列数

如何使用VBA在Excel工作表中查找已使用的列数?

Dim lastRow As Long
lastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
MsgBox lastRow
Run Code Online (Sandbox Code Playgroud)

使用上面的VBA,我能够找到行数.但是如何在给定的excel文件中找到列数?

excel vba excel-vba

22
推荐指数
2
解决办法
19万
查看次数