如何通过时间记录重生2.0版本,来了!

13次阅读

如何通过时间记录重生2.0版本,来了!

《如何通过时间记录重生!》里,我将时间记录分为记录时间,统计时间和分析时间。

说实话,这里的每一步看似简单,实际上不容易。

记录时间

记录时间的问题如何记,记哪些。

很多人喜欢用时间记录app,比如爱时间,aTimeLogger等等。

这些app有这些缺点:

先分类,后记录事件。这就搞错了记录的顺序。每对事件分一次类,都耗费很多脑细胞思考。正确的分类,应该是先记录事件,然后集中事件分类。没有办法同时记录两件事。如果同时干两件事,比如运动时,同时听英语,我想把两个事情都记下来,app却无法做到。

时间的记录,最简单的方法是通过纸笔,如果是经常用电脑,也可以用flomo、记事本之类的工具。

很多人刚开始用时间记录时,总想把所有的事情都记录下来。

这是一个很好的想法,一开始很容易做到,毕竟刚开始谁都有激情。

但时间一长,一两周,很多人就坚持不下来了。

因为有很多事情很琐碎,就一两分钟的事情,记下来就很耗费时间。

这时候,可以转换思路,不用记每件事,而是要记你想记的事情,比如睡眠,某些经常干的工作,写作,阅读,运动的时间。

这不用自责,认为自己没有完全发挥时间记录的效力。

实际上,就算创造“时间统计法”的柳比歇夫也不是一下子就完备的使用该方法,也是不断升级,不断改进,才逐渐完善这个方法的。

记录关键事件的时间,对很多人足够用了。

如何通过时间记录重生2.0版本,来了!

统计时间

我使用PyCharm对时间-事件记录进行统计,输出结果为:开始时间、结束时间、时长、事件。

方法是直接复制时间记录,然后运行程序。运行程序的软件是PyCharm Community Edition 2024.1.4。

输出形式是excel表格的数据。

这几天,我开始阅读英文书,英语单词之间有空格,识别不方便,我这次修改了识别模式,实现根据时间+空格“XX:XX ”的识别文本。

代码如下:

import pyperclip
import pandas as pd
from datetime import timedelta
import os
import re

text = pyperclip.paste()

def extract_time_content(text):
# 使用正则表达式匹配时间格式
pattern = r(\d{1,2}:\d{2})\s*——\s*(\d{1,2}:\d{2})\s*(.*?)\s*(?=\d{1,2}:\d{2}|$)
matches = re.findall(pattern, text)

# 创建一个字典来存储结果
result = {}
for start_time, end_time, content in matches:
result[(start_time, end_time)] = content.strip()

return result

def statistical_time_records(text):
# Split the text into lines
lines = text.split(\n\n)
print(lines)

# Prepare lists to hold the data
start_times = []
end_times = []
events = []

# Process each line
for line in lines:
# Split the line into time part and event part using the last occurrence of ,
if in line:
line = line.replace(, ) #如果有两个空格,则替换为1个空格。
line= line.replace(—— , ——) #如果——后有空格,则替换掉。
extracted_info= extract_time_content(line)
else:
continue # Skip lines that dont contain an event part

# Split the time part into start and end times
for time_range, content in extracted_info.items():
start_time = time_range[0]
end_time = time_range[1]
event = content

# Append to lists
start_times.append(start_time)
end_times.append(end_time)
events.append(event)

# Create a DataFrame
df = pd.DataFrame({
Start Time: start_times,
End Time: end_times,
Event: events
})

# Convert Start Time and End Time to timedelta
df[Start Time] = pd.to_timedelta(df[Start Time].apply(lambda x: f”00:{x}))
df[End Time] = pd.to_timedelta(df[End Time].apply(lambda x: f”00:{x}))

# Calculate Duration
def calculate_duration(row):
if row[End Time] < row[Start Time]:
# Calculate the duration using 24:00
duration = (timedelta(minutes=24) – row[Start Time]) + row[End Time]
else:
duration = row[End Time] – row[Start Time]
return duration

df[Duration] = df.apply(calculate_duration, axis=1)

# Format Start Time, End Time, and Duration to minute:second
df[Start Time] = df[Start Time].dt.components.apply(lambda x: f”{int(x[minutes])}:{int(x[seconds]):02},
axis=1)
df[End Time] = df[End Time].dt.components.apply(lambda x: f”{int(x[minutes])}:{int(x[seconds]):02}, axis=1)
df[Duration] = df[Duration].dt.components.apply(lambda x: f”{int(x[minutes])}:{int(x[seconds]):02}, axis=1)

df = df[[Start Time, End Time, Duration, Event]]

# Print the string representation of the DataFrame
df.to_excel(remote_put.xlsx, index=False)
# Open the Excel file

os.system(start excel remote_put.xlsx)

return df

statistical_time_records(text)

如何通过时间记录重生2.0版本,来了!

3.分析时间

分析时间没有变化,还是复制到腾讯文档、excel等表格里,给事件分类后,通过“透视表”分析。

喜欢就分享吧,分享是种美德,也是最帮助别人的方法!

正文完
 0
网站地图