excel高手进,字符串提取日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel高手进,字符串提取日期相关的知识,希望对你有一定的参考价值。

excel表中的一个字符串HCB900026010000906180373日期是09-06-18在另外一个表格中输入的格式是什么可以直接提取日期,请用这个字符串实例说明,谢谢!
非常感谢二楼三楼的回答,但一楼的回答更加实际易懂,我只有将分给一楼了,最后对三位的精彩回答表示感谢.

你好!

取字符串需要用到mid函数~

我试了一下:
假设
1 A6=HCB900026010000906180373

2 你说的这个字符串的字长都是一定的,日期所在的位数是固定,如例子中的15-20位为日期信息~

那么在B3中输入公式:
=MID(A6,15,2)&"-"&MID(A6,17,2)&"-"&MID(A6,19,2)

以上得出的结果就是你要的~~
参考技术A 1、邮箱@字符之前的内容提取用公式=left(a1,find("@",a1)-1)如a列式邮箱,那么在b1单元格输入公式,下拉复制即可。
2、你好-业务专员
同样道理,用公式=left(a1,find("-",a1)-1)即可,
如有问题,百度hi我
祝你成功!
参考技术B A1为字符串,在其它单元格输入公式就是你要的日期,但这个日期只是文本型,不能参与计算:
="20"&MID(A1,15,2)&"-"&MID(A1,17,2)&"-"&MID(A1,19,2)

以下是可以参与计算的日期格式:
=DATE(20&MID(A1,15,2),MID(A1,17,2),MID(A1,19,2))
参考技术C 数据在A1
在另外单元格输入

=TEXT(MID(A1,15,6),"2000-00-00")
或者
=TEXT(MID(A1,15,6),"2000年00月00日")

在Python中按日期对excel文件进​​行排序[关闭]

【中文标题】在Python中按日期对excel文件进​​行排序[关闭]【英文标题】:Sort an excel file by date in Python [closed] 【发布时间】:2019-05-07 11:42:16 【问题描述】:

我想在python中导入的excel文件中根据日期提取一些数据。 我希望能够给出开始日期和结束日期并获取该特定时期的数据。 我尝试了不同的方法来安装 pandas_datareader 以使用以下代码,但我不能。

data = web.DataReader(dataset,start='', end='')

所以,这是我的代码。

import pandas as pd  
import datetime 

data = pd.read_excel('file.xlsx')  
start = datetime.datetime(2009,1,1)  
end = datetime.datetime(2018,1,1)

#reshape based on date  
set_index = data.set_index('date')

我该如何解决这个问题? :(

Excel file

【问题讨论】:

你能分享几个excel中的行和字段吗? @Harry_pb:我刚刚为您上传了我的文件的屏幕截图。 i.stack.imgur.com/y6o3L.png Sort Pandas Dataframe by Date的可能重复 @Evan:谢谢,但我可以对日期进行排序。我的问题是我不知道如何确定具体的日期期间。例如,在我的数据集中,如果我只想拥有 2010 年到 2018 年的点,我该如何设置这个时间段。 (我的 excel 文件包含 1997 年到 2018 年的数据点)。 嗨@Nicole,你问的是子集。在这种情况下,我推荐df.loc[];我会发布一个答案。 【参考方案1】:
import pandas as pd  
import datetime 

"""
ticker,date,closeunadj
ZF,2018-11-28,9.22
ZF,2018-11-27,9.16
ZF,2018-11-26,9.23
"""

df = pd.read_clipboard(sep=",", parse_dates=["date"]).set_index("date")
df

输出:

           ticker  closeunadj
date                         
2018-11-28     ZF        9.22
2018-11-27     ZF        9.16
2018-11-26     ZF        9.23

然后您可以使用.loc 将索引子集设置为您喜欢的日期范围。

df.loc[(df.index < datetime.datetime(2018, 11, 28)) & (df.index > datetime.datetime(2018, 11, 26))]

输出:

           ticker  closeunadj
date                         
2018-11-27     ZF        9.16

【讨论】:

以上是关于excel高手进,字符串提取日期的主要内容,如果未能解决你的问题,请参考以下文章

VB中关于日期函数的问题.

从包含excel中文本字符串的单元格中提取日期

excel身份证号如何提取出生日期?

EXCEL表格中 怎么用函数从身份证号获取出生日期,年龄、性别

如何将EXCEL单元格中字符型日期截取并转为日期型?

如何用Excel提取身份证号码里面的出生日期?