Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要使用pyexcel或openpyx检查Excel文件中是否已经存在日期_Excel_Python 3.x - Fatal编程技术网

我需要使用pyexcel或openpyx检查Excel文件中是否已经存在日期

我需要使用pyexcel或openpyx检查Excel文件中是否已经存在日期,excel,python-3.x,Excel,Python 3.x,目前,此脚本无法识别excel文件中的日期何时与我要查找的日期(今天的日期)匹配。我是编程新手,如果你能用一种简单的方式解释一下你所做的改变,这对我真的很有帮助。 这是此代码当前如何编辑Excel的图片。正如你所看到的,有重复的日期,我希望每个日期只输入一次 以下是我正在尝试的: import datetime import openpyxl import pyexcel date = (datetime.date.today()) date_already_exists = False #

目前,此脚本无法识别excel文件中的日期何时与我要查找的日期(今天的日期)匹配。我是编程新手,如果你能用一种简单的方式解释一下你所做的改变,这对我真的很有帮助。 这是此代码当前如何编辑Excel的图片。正如你所看到的,有重复的日期,我希望每个日期只输入一次

以下是我正在尝试的:

import datetime
import openpyxl
import pyexcel

date = (datetime.date.today())
date_already_exists = False

# File to open PyExcel
file_name = "example.xlsx"
sheet = pyexcel.get_sheet(file_name = file_name)

# File to open OpenPyxl
wb = openpyxl.load_workbook(file_name, read_only=True)
ws = wb.active

# Decides whether to write a new entry
for row in ws.rows:
    if row[1].value == date:
        date_already_exists = True

if date_already_exists is False:
   sheet.row += [date, "X"]

# Saves the file
sheet.save_as(array = sheet.row, filename = file_name)

预感:您的问题是将datetime对象与excel值进行比较。日期在excel中的格式如何?弄清楚这一点,然后格式化日期时间以匹配,这样您就可以像现在这样进行比较。假设您的excel日期为
2019年11月1日',您将执行
date=datetime.date.today().strftime(“%m/%d/%Y”)`是,为了确保查看,我们需要查看excel数据。另外,另一种方法是将excel数据转换为pd.datetime,但是JTCriters的答案更好,因为您只需要转换一个东西。但是,如果excel日期的格式可变,则最好将excel日期转换为日期时间。添加了excel图片。预感:您的问题是将日期时间对象与excel值进行比较。日期在excel中的格式如何?弄清楚这一点,然后格式化日期时间以匹配,这样您就可以像现在这样进行比较。假设您的excel日期为
2019年11月1日',您将执行
date=datetime.date.today().strftime(“%m/%d/%Y”)`是,为了确保查看,我们需要查看excel数据。另外,另一种方法是将excel数据转换为pd.datetime,但是JTCriters的答案更好,因为您只需要转换一个东西。但是,如果excel日期的格式可变,则最好将excel日期转换为日期时间。添加了excel的图片。