首页 > 解决方案 > 如何检查日期条目是否已填写在 Python 中的 .csv 文件中

问题描述

我有一个简单的网络抓取 python 脚本,将结果写入 .csv 文件。如果 .csv 文件不包含今天的日期,我只想添加一个条目。目前,作者根本没有写作。

with open('results.csv', mode='a') as csv_file:
    write = True
    for line in csv_file:
        if line.contains(date.today()):
            write = False
    if write == True:
        writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
        writer.writerow([date.today(),mainstream_count,specialist_count])

标签: pythoncsvdatedatetimeif-statement

解决方案


在打开文件之前检查文件的修改时间戳。

import csv
import datetime
import os

file_name = "results.csv"

modified = datetime.date.fromtimestamp(os.path.getmtime(file_name))

if (modified < datetime.date.today()):
    with open(file_name, mode='a') as csv_file:
        writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
        writer.writerow([date.today(),mainstream_count,specialist_count])

推荐阅读