我是第一次尝试openpyxl.我有一个excel文件,有两列数据.列'A'具有ID号,而列'C'具有值.我只是尝试提取它们,作为普通键/值对象.
这些是我想要实现的伪步骤
问题是我无法通过第2步创建工作表.该行ws = wb.active()似乎是获取默认WorkSheet的完全标准化方法.我看到它在很多例子中使用,并且在写这篇文章时,有关使用该行的SO有93个问题.但在我的情况下,它会抛出一个错误:
File "C:\myworkspace\Myclass.py", line 18, in <module>
ws = wb.active()
TypeError: 'ReadOnlyWorksheet' object is not callable
Run Code Online (Sandbox Code Playgroud)
我是Python的新手,但我之前遇到过类似的错误.我知道如果我导入一个python模块名称而不是相关的类名,它会被抛出.到底发生了什么?为什么这种看似标准的检索工作表对象的方法,试图实现模块而不是类?我用错了吗?
file_url = 'C:/myfilepath.xlsx'
key_column_index = 1
value_column_index = 3
row_start = 2
request_map = {}
wb = load_workbook(filename = file_url, use_iterators = True)
ws = wb.active()
row_counter = row_start
while( ws.cell(row=row_counter, column=key_column_index).value ):
key = ws.cell(row=row_counter, column=key_column_index).value
value = ws.cell(row=row_counter, column=value_column_index).value
request_map[key] = value
row_counter += 1
pprint(dict([(n, tuple(l.split(';'))) for n, l in …Run Code Online (Sandbox Code Playgroud) 我有一个简单的html,我希望在桌面样式显示中的flex项目,在悬停时增长.我还希望它能够过渡到成长状态,以获得流畅的用户体验.
我已经在Chrome中使用了它.flex增长也适用于IE,但过渡不会.我有三重检查,IE10支持转换,所以我显然做了别的错误.我已经尝试过研究所有四种可能的属性来转换,但一切似乎都应该如此.我在文档中找不到与我自己的设置相矛盾的内容.
这是我自己的小提琴:https://jsfiddle.net/3vrp7xyo/3/ 这里是一个问题的另一个答案的小提琴,显示完全相同的问题:http://codepen.io/DrYSG/pen/ovctn(只需删除js-tab中的斜杠,使其工作)
更新:新的小提琴显示转换在两个浏览器中完美运行,在flexbox之外:https://jsfiddle.net/3vrp7xyo/9/
请注意,渐变颜色过渡实际上适用于两种浏览器,但水平增长/缩小则不然
这是我的代码:
.day-row>div {
line-height: 18px;
text-align: center;
margin: -2px -1px;
border: 2px solid black;
font-size: 11px;
color: black;
}
.day-row>div:first-child {
margin-left: -2px;
}
.day-row>div:last-child {
margin-right: -2px;
}
.day-row {
background-color: #CCDFE0;
margin: -2px;
border: 2px solid black;
background-color: white;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.releasecalendar-container {
margin: 0 auto;
padding: 25px;
max-width: 1500px;
}
.month-column {
padding: …Run Code Online (Sandbox Code Playgroud)我的问题似乎非常简单.我从GregorianCalendar对象创建一个日历图形用户界面,并使用它的方法计算不同月份的正确天数,以及不同日期的相应工作日.
但工作日有一天休息一致.日历声称2013年7月1日是'2',这在我的世界意味着星期二.星期一应该是'1'."简单!" 我想,并把它放在一行:c.setFirstDayOfWeek(Calendar.MONDAY); 但没有给出任何反应.
所以我搜索stackoverflow得到一个答案,但是每个有问题的人似乎都忘记了1月是0,而不是1.我没有.所以现在我被卡住了.
作为一个简化的代码,我创建了一个非常短的代码片段,它具有相应的输出:
GregorianCalendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.MONTH, 6);
c.set(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.YEAR, 2013);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");
System.out.println(sdf.format(c.getTime()));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
Run Code Online (Sandbox Code Playgroud)
输出是:
2013年1月7日
2
我拒绝在我的代码中输入"-1",错误地纠正了显然是错误的症状.感谢帮助.
我想你们有些人读过这个标题,并且"哦,另一个关于java的基于0的月系统的问题......".好吧,不是这次.
在我们切换到夏令时之后,我的java日历对象表现得很好.将月份设置为JUNE,实际上将其设置为7月.我不知道为什么,但有人建议我Locale在日历的构造函数参数中设置- 对象.那没用.以下代码01-07-14在我的控制台中返回.
有任何想法吗?
public class test {
public static void main(String[] args){
Locale locale = new Locale("da-DK");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy");
Calendar date = new GregorianCalendar(locale);
date.set(Calendar.MONTH, Calendar.JUNE);
System.out.println(sdf.format(date.getTime()));
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
这也回来了 01-07-14
public class test {
public static void main(String[] args){
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy");
TimeZone timeZone = TimeZone.getTimeZone("Europe/Copenhagen");
Calendar date = new GregorianCalendar(timeZone);
date.set(Calendar.MONTH, Calendar.JUNE);
System.out.println(sdf.format(date.getTime()));
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个AJAX调用,它根据简单的标准参数(如一年中的月份)从不断变化的数据库中返回值.在IE中,此函数返回缓存的数据,这是它永远不应该的.我监控了服务器端,客户端没有联系它.
现在,我的标题问题已经以不同的方式被问到,这里已经多次了.前两个解决方案是:
cache: false但事情是,这cache: false不起作用,至少不在我的应用程序中.另一方面,传递一个唯一的字符串来防止缓存,似乎是一个快速修复黑客.我不喜欢它.那么在ajax调用上阻止缓存的正确方法是什么?
Ajax调用在防止缓存方面不起作用:
$.getJSON("myURL", {
json : jsonDataObject,
cache: false
}).success(function(data) {
//do something with data
});
Run Code Online (Sandbox Code Playgroud)
$.ajaxSetup({ cache: false });在调用发生之前我也试过自己调用它,但是没有效果......
我有一个maven web app项目,我使用JodaTime.JodaTime不是在我的maven项目中直接引用的,而是传递依赖项的一部分.换句话说,我的网络应用程序战争,我的另一个项目作为直接依赖,并且该jar包含JodaTime.
执行这两行后我收到错误.虽然编译得很好.
DateTime firstDate = new DateTime();
firstDate = firstDate.withYear(2016);
Run Code Online (Sandbox Code Playgroud)
这是我的错误:
java.lang.NoSuchMethodError: org.joda.time.DateTime.withYear(I)Lorg/joda/time/DateTime;
Run Code Online (Sandbox Code Playgroud)
我知道,如果我编译并运行不同版本的库,就会发生这类错误,就像这个答案所说的那样,但withYear()自从2006年以来JodaTime 1.3已经存在,我无法看到我可以导入一个旧的版本.我甚至检查了我的最终war文件,并且唯一存在的JodaTime库是2.9.2.
如果我创建一个main-method片段,并且在eclipse中的同一个项目中运行它,那么这两行运行正常.它们只在编译成war文件时失败,并从我的weblogic 10.3.2服务器运行.
有没有人知道如何继续调试这个?
我正在尝试实现一个包含通知的下拉菜单,例如该页面具有:http : //infinite-woodland-5276.herokuapp.com/index.html。我正在尝试重新创建网站右上角的扩音器图标及其菜单。
我成功地制作了带有项目列表的标题菜单图标。但是我不能使滚动条工作。
它使用的是jquery插件slimScroll,可在此处找到:http ://rocha.la/jQuery-slimScroll 。
在教程中,滚动条的位置看起来非常简单直接。这是我的工作:
$(document).ready(function(){
$('#main-navbar-notifications').slimScroll({
height : 250
});
});
Run Code Online (Sandbox Code Playgroud)
实施此代码后,此代码出现在我的DOM中:
<div class="slimScrollBar" style="width: 7px; position: absolute; top: 0px; opacity: 0.4; display: none; border-radius: 7px; z-index: 99; right: 1px; height: 195.925px; background: rgb(0, 0, 0);"></div>
<div class="slimScrollRail" style="width: 7px; height: 100%; position: absolute; top: 0px; display: none; border-radius: 7px; opacity: 0.2; z-index: 90; right: 1px; background: rgb(51, 51, 51);"></div>
Run Code Online (Sandbox Code Playgroud)
正如我所期望的那样,它们没有出现在#main-navbar-notifications中,而是随后出现。但是,我发现我要复制的示例中存在完全相同的DOM结构。好像是应该的。
但是我的滚动条根本不起作用。如果我将鼠标悬停在div上,则什么也不会发生。我尝试将滚动条设置为始终可见,但仍然没有任何反应。然后,我在chrome inspector中进入HTML本身,并手动将滚动条和导轨设置为可见。这样可以提高可见性,因为它们的外观完全符合我的预期,但是它们仍然没有对任何鼠标操作做出反应。
我能够找到的关于该主题的唯一信息是,确保将我的滚动div设置为position: relative;,但这没有做任何事情。我的控制台中没有错误消息,也没有任何消息。
我试图在小提琴中重现我的问题,但无法在此处上传slimscroll库。
有谁知道这个错误可能是什么?还是有任何找出问题根源的策略?
我正在从不管理的数据库中提取数据。它是一个列表,重要的值是:
IntegerString我已经基于使用<ul>和<li>标签的模型成功创建了一个树形结构的浏览器。我还通过双击实现了动作侦听器,找到了ID,并采取了相应的行动。标识已存储,并作为代表叶子或文件名value的个人的- 参数<li>。
但是事实证明,索引号不是唯一的。我希望它们会是,即使有的列UID。我试图将设置value为UID String。它在我的浏览器中有效,如生成的HTML代码的片段所示:
<li role="treeitem" value="1581f20c-0ef9-4c21-a8ab-a407da310cf5" ... >
Run Code Online (Sandbox Code Playgroud)
但是,当我检索该值并将其保存到数据库时,它只会获取出现在第一个非数字字符前面的数字值。在这种情况下,是1581。我检查了一下,得出的结论是,值参数只接受数字值,这对我来说真的很糟糕。
还有其他方法可以将未显示的UID字符串绑定到HTML列表元素吗?
编辑2:
由于意识到我的误解,因此我删除了之前的编辑。自定义数据标签需要语法“ data-variablename”,而在检索它时,我应该省略“ data-”,而只需获取变量名。
我设法将 SQL 中的列重命名为表名和预期的列名,用点分隔。我用了这个语句:
EXEC sp_rename 'Booking.MasterBookingID', 'Booking.BookingID'
Run Code Online (Sandbox Code Playgroud)
这行得通,但问题是,它应该是:
EXEC sp_rename 'Booking.MasterBookingID', 'BookingID'
Run Code Online (Sandbox Code Playgroud)
所以我的专栏不是被命名BookingID,而是现在被命名Booking.BookingID。所以我想,好吧,我只需要再次重命名它。我去:
EXEC sp_rename 'Booking.Booking.BookingID', 'BookingID'
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
> No item by the name of 'Booking.Booking.BookingID' could be found in
> the current database 'BookingSystemTest', given that @itemtype was
> input as '(null)'.
Run Code Online (Sandbox Code Playgroud)
所以我尝试了其他几种方法:
EXEC sp_RENAME 'Booking.BookingID', 'BookingID'
Run Code Online (Sandbox Code Playgroud)
和以前一样的错误。
EXEC sp_RENAME 'Booking.BookingID', 'BookingID', 'COLUMN'
EXEC sp_RENAME 'Booking.Booking.BookingID', 'BookingID', 'COLUMN'
Run Code Online (Sandbox Code Playgroud)
两者都给出错误:
> [Error Code: 15248, SQL State: S1000] Either the parameter @objname
> is ambiguous …Run Code Online (Sandbox Code Playgroud)