我的日期时间数据是这样的:
2016-03-01 19:25:53.053404
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用
datetime.strptime(date, "%Y-%m-%d %HH:%MM:%SS")
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
ValueError: time data '2016-03-01 19:24:35.165425' does not match format '%Y-%m-%d %HH:%MM:%SS'
Run Code Online (Sandbox Code Playgroud)
如何修复格式“ %Y-%m-%d %HH:%MM:%SS”以匹配我拥有的日期时间格式?
尝试将字符串转换为datetime并将其保存到 db. 该字符串指定时区,但strptime不接受该%z选项。
datetime.strptime("Tue Feb 14 2017 15:30:01 GMT-0500", "%a %b %d %Y %H:%M:%S GMT%z")
Run Code Online (Sandbox Code Playgroud)
ValueError: 'z' 是格式为 '%a %b %d %Y %H:%M:%S GMT%z' 的错误指令
如何将所有数据框列值转换为 ISO-8601 格式
下面给出了我执行时得到的示例值print(df['timestamp'])以供参考
0 2020-02-03 18:00:33
1 2020-02-03 18:00:37
2 2020-02-03 18:00:39
3 2020-02-03 18:01:16
4 2020-02-03 18:01:17
5 2020-02-03 18:02:14
6 2020-02-03 18:02:46
7 2020-02-03 18:02:50
8 2020-02-03 18:02:58
下面给出了 预期结果
0 2020-02-03T18:00:33-06
1 2020-02-03T18:00:37-06
2 2020-02-03T18:00:39-06
3 2020-02-03T18:01:16-06
4 2020 -02-03T18:01:17-06
5 2020-02-03T18:02:14-06
6 2020-02-03T18:02:46-06
7 2020-02-03T18:02:50-06
8 2020-02 -03T18:02:58-06
我有以下代码,当在一个线程内运行时(完整的代码在这里 - https://github.com/eWizardII/homobabel/blob/master/lovebird.py)
for null in range(0,1):
while True:
try:
with open('C:/Twitter/tweets/user_0_' + str(self.id) + '.json', mode='w') as f:
f.write('[')
threadLock.acquire()
for i, seed in enumerate(Cursor(api.user_timeline,screen_name=self.ip).items(200)):
if i>0:
f.write(", ")
f.write("%s" % (json.dumps(dict(sc=seed.author.statuses_count))))
j = j + 1
threadLock.release()
f.write("]")
except tweepy.TweepError, e:
with open('C:/Twitter/tweets/user_0_' + str(self.id) + '.json', mode='a') as f:
f.write("]")
print "ERROR on " + str(self.ip) + " Reason: ", e
with open('C:/Twitter/errors_0.txt', mode='a') as a_file:
new_ii = "ERROR on " + str(self.ip) + " Reason: …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码从字符串中提取日期:
try:
my_date = datetime.strptime(input_date, "%Y-%m-%d").date()
except ValueError:
my_date = None
Run Code Online (Sandbox Code Playgroud)
如果我运行750,000次,则需要19.144秒(由cProfile确定)。现在,我将其替换为以下(丑陋的)代码:
a= 1000 * int(input_date[0])
b= 100 * int(input_date[1])
c= 10 * int(input_date[2])
d= 1 * int(input_date[3])
year = a+b+c+d
c= 10 * int(input_date[5])
d= 1 * int(input_date[6])
month = c+d
c= 10 * int(input_date[8])
d= 1 * int(input_date[9])
day = c+d
try:
my_date = date(year, month, day)
except ValueError:
my_date = None
Run Code Online (Sandbox Code Playgroud)
如果我运行750,000次,则仅需5.946秒。但是,我发现代码确实很难看。是否有另一种不使用strptime从字符串中提取日期的快速方法?
import datetime as datetime
datetime.strptime('2013-01-01 09:10:12', '%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
产生
()最后一次调用最后一次的属性错误跟踪(最近一次调用)作为datetime ----> 2 datetime.strptime('2013-01-01 09:10:12','%Y-%m-%d%H :%M:%S')3 z = minidf ['日期'] 4 z
AttributeError:'module'对象没有属性'strptime'
我的目标是转换一个pandas dataframe列,其格式仍然是数据对象
import datetime as datetime
#datetime.strptime('2013-01-01 09:10:12', '%Y-%m-%d %H:%M:%S')
z = minidf['Dates']
0 2015-05-13 23:53:00
1 2015-05-13 23:53:00
2 2015-05-13 23:33:00
3 2015-05-13 23:30:00
4 2015-05-13 23:30:00
5 2015-05-13 23:30:00
6 2015-05-13 23:30:00
7 2015-05-13 23:30:00
8 2015-05-13 23:00:00
9 2015-05-13 23:00:00
10 2015-05-13 22:58:00
Name: Dates, dtype: object
Run Code Online (Sandbox Code Playgroud)
奖金问题是,我使用pd.read_csv更多列的更大文件中的函数获取此列.是否可以传递参数,pd.read_csv直接将其转换为dtype: datetime64[ns]格式
我试图做一个散点图,我的x轴需要是一年中的每一天.我首先在数据文件中读取并获取日期列,其中填充了整数,如19800801.所以我将其转换integer为datetime:
datetimes_0 = datetime.strptime(str(dates_pitts[0]), '%Y%m%d')
Run Code Online (Sandbox Code Playgroud)
然后我想通过编写以下内容从datetime对象中仅提取月份和日期:
s = datetimes_0.strftime("%m%d")
Run Code Online (Sandbox Code Playgroud)
我意识到他们返回的值strftime不再是日期时间对象,所以我尝试将其转换回datetime对象
s0= datetime.strptime(s, '%m%d')
Run Code Online (Sandbox Code Playgroud)
但它不是只给我一个月和一天,而是让我回到了整年,一个月和一天.我的问题是如何从给定的整数(如19800801)中提取只有月和日(两者)的日期时间对象?
我正在使用Python。我的时间格式是这样的
2020-05-23T06:35:11.418279Z #May 23, 2020 at 12:05:11 PM GMT+05:30
Run Code Online (Sandbox Code Playgroud)
我想转换成人类可读的时间,比如
23-05-2020 12:05 PM
Run Code Online (Sandbox Code Playgroud)
我也尝试过解析器。但没有效果。
谁能帮我这个?
提前致谢 :)
我有日期时间字符串2020-10-23T11:50:19+00:00。我可以在没有时区的情况下将其解析为:
>>> datetime.strptime('2020-10-23T11:50:19', '%Y-%m-%dT%H:%M:%S')
datetime.datetime(2020, 10, 23, 11, 50, 19)
Run Code Online (Sandbox Code Playgroud)
00:00但我在用时区版本解析它时遇到问题。正确的方法是什么?
>>> datetime.strptime('2020-10-23T11:50:19+00:00', '%Y-%m-%dT%H:%M:%S+???')
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用特定格式转换日期strptime,并且我意识到有关AM/PM的信息丢失了.不知道为什么.
这是代码.
struct tm t;
strptime("Wed 4/18/2007 4:28:22 PM", "%a %m/%d/%Y %H:%M:%S %p", &t);
std::cout<<t.tm_hour<<endl;
strptime("Wed 4/18/2007 4:28:22 AM", "%a %m/%d/%Y %H:%M:%S %p", &t);
std::cout<<t.tm_hour<<endl;
Run Code Online (Sandbox Code Playgroud)
谁能告诉我什么是具有目的%p的符strptime?
在此先感谢,AJ