我将数据库中的日期发布到具有以下格式的列中:
K栏
AUG-14-2015 08:31:32 AM
AUG-12-2015 06:10:03 PM
AUG-12-2015 05:17:51 PM
我想添加类似' 2.2'这些中的每一天都放在L列中。我已经用这种格式格式化了列:
mmm-dd-yyyy hh:mm:ss AM/PM
我不确定破折号是否会导致问题,但是当我执行a = K15 + 2.2时,我得到了一个!值。有什么想法我需要做什么?感谢。
答案 0 :(得分:1)
经过一些实验,似乎虽然您可以指定日期格式from urllib import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://www.officialcharts.com/charts/singles-chart/19800203/7501/" )
bsObj = BeautifulSoup(html)
nameList = bsObj. findAll("div" , {"class" : "artist",})
for name in nameList:
print(name. get_text())
html = urlopen("http://www.officialcharts.com/charts/singles-chart/19800203/7501/" )
bsObj = BeautifulSoup(html)
nameList = bsObj. findAll("div" , {"class" : "title"})
for name in nameList:
print(name. get_text())
,但实际进入单元格的条目必须是系统范围的语言环境特定格式的日期,或者自1月1日以来的天数1900。
因此,例如,当您将单元格的格式设置为自定义时:
"mmm-dd-yyyy hh:mm:ss AM/PM"
对于"mmm-dd-yyyy hh:mm:ss AM/PM"
,我的案例(Windows 10默认英国语言环境设置,Excel 2010),我可以输入以下任何内容:
并且在任何情况下也交换08年8月或AUG,并在日期中更改' - '为' - '。
对于格式为AUG-12-2015 06:10:03 PM
的单元格,上述任何输入的输出为:
请注意,似乎没有办法强制本月的全部大写。
另请注意,如果您以区域设置格式输入日期/时间,则会自动识别并格式化为日期/时间。
因此,您唯一的选择是更改源数据的格式,将数据预处理为区域设置日期/时间格式,或者编写宏以在电子表格中执行此操作。如果您更改区域设置(系统设置,语言和时间),它也可能会起作用,但这可能不太令人满意,因为它会影响整个系统的日期显示。
答案 1 :(得分:0)
如果您想避免使用VBA,则可以在数据旁添加一列(" L")并输入:
=SUBSTITUTE(K1,"-","/")
另一种解决方案是编写代码来完成现有的" K"柱