from datetime import datetime import xlwings as xw f=[] s=[] app=xw.App() wb=app.books.open("E:/交通局/1.市交通局机关2021年预算执行审计/加油卡加油记录.xlsx") m=wb.sheets[0].range("a7:t1000").value name=set(wb.sheets[0].range("a3:a1000").value) date=wb.sheets[0].range("b3:b1000").value wb.close() for i in date: if i is not None: d = datetime.strptime(i, "%Y-%m-%d %H:%M:%S") s.append(d) date=set(s) for t in name: for d in date: n=0 for x in m: if x[4]=="加油" and x[1]==t and x[9]==d: n=n+1 if n>1: f.append(t) print(f)
时间: 2024-04-14 14:28:12 浏览: 86
你的代码看起来很完整,你想要知道为什么在运行后没有得到预期的输出结果是吗?
在你的代码中,你使用了 `xlwings` 库来打开和读取 Excel 文件中的数据。然后,你使用了一些逻辑来计算满足条件的结果,并将其添加到列表 `f` 中。
根据你的代码,你希望打印出满足条件的结果列表 `f`。然而,你可能没有得到预期的输出结果,这可能是因为没有满足条件的数据。
为了调试并找到问题所在,你可以尝试添加一些打印语句来检查代码中的变量值。例如,你可以在内层循环之后添加以下代码来打印出当前迭代的名称和日期:
```python
print("当前迭代的名称:", t)
print("当前迭代的日期:", d)
```
这样,你可以检查迭代过程中变量的值,并确定是否存在问题。另外,你还可以确认 Excel 文件中的数据是否符合你的预期。
请尝试添加这些打印语句并检查结果,看看是否能够找到问题所在。如果仍然有疑问,请提供更多关于你期望的输出和实际输出的信息,以便我能够更好地帮助你。
相关问题
from datetime import datetime import xlwings as xw f=[],s=[] app=xw.App() wb=app.books.open("E:/加油卡加油记录.xlsx") m=wb.sheets[0].range("a7:t1000").value name=set(wb.sheets[0].range("a3:a1000").value) date=wb.sheets[0].range("b3:b1000").value wb.close() for i in date: if i is not None: d = datetime.strptime(i, "%Y-%m-%d %H:%M:%S") s.append(d) date=set(s) for t in name: for d in date: n=0 for x in m: if x[4]=="加油" and x[1]==t and x[9]==d: n=n+1 if n>1: f.append(t) print(f)
你的代码看起来几乎正确,但是有一个缩进错误导致语法错误。在 Python 中,代码块的缩进非常重要,它们定义了代码的结构和逻辑。
以下是你的代码中存在缩进错误的部分:
```python
for i in date:
if i is not None:
d = datetime.strptime(i, "%Y-%m-%d %H:%M:%S")
s.append(d)
```
在 `for` 循环的下一行,`if i is not None:` 的缩进应该比 `for` 循环的缩进多一个层级。这样才能将 `if` 语句正确地放在 `for` 循环内部。正确的代码应该是这样的:
```python
for i in date:
if i is not None:
d = datetime.strptime(i, "%Y-%m-%d %H:%M:%S")
s.append(d)
```
请注意,缩进在 Python 中是非常重要的,它确定了代码块的开始和结束。确保在你的代码中使用正确的缩进,以避免语法错误。
如果你还有其他问题,请随时提问。
阅读全文