使用from_line()函数从文本文件中提取特定日期范围的行
发布时间:2023-12-26 23:37:00
from_line()函数是一个用来从文本文件中提取特定日期范围的行的函数。该函数需要接收三个参数,分别是文件名、开始日期和结束日期。以下是使用from_line()函数的一个示例:
假设我们有一个名为“data.txt”的文本文件,其中包含以下内容:
2020-01-01,This is line 1 2020-01-02,This is line 2 2020-01-03,This is line 3 2020-01-04,This is line 4 2020-01-05,This is line 5 2020-01-06,This is line 6
我们想要提取从2020-01-02到2020-01-04的行。可以使用如下代码来实现:
def from_line(filename, start_date, end_date):
result = []
with open(filename, 'r') as file:
lines = file.readlines()
for line in lines:
date, content = line.strip().split(',')
if start_date <= date <= end_date:
result.append(content)
return result
filename = "data.txt"
start_date = "2020-01-02"
end_date = "2020-01-04"
lines = from_line(filename, start_date, end_date)
for line in lines:
print(line)
运行以上代码,输出结果如下:
This is line 2 This is line 3 This is line 4
代码解释:
首先,我们定义了一个名为from_line()的函数,它接收文件名、开始日期和结束日期作为参数。
在函数内部,我们创建一个空列表result,用来存储符合要求的行内容。
然后,我们使用open()函数打开文件,并使用readlines()方法读取文件中的所有行。
接下来,我们迭代每一行,使用strip()方法去除行首和行尾的空格,并使用split()方法以逗号为分隔符拆分日期和内容。
然后,我们检查当前行的日期是否在指定的日期范围内,如果是,则将该行的内容添加到result列表中。
最后,我们返回result列表。
在主程序中,我们调用from_line()函数,并传入所需的参数。得到返回的结果lines后,我们使用for循环逐行打印结果。
