每2小时自动运行python脚本并生成csv文件

2024-09-30 05:18:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似这样的python代码

from arcgis.features import SpatialDataFrame
fl = known_item.tables[0]
# Use the `from_layer` method of the Spatial DataFrame to create a new Spatial DataFrame
sdf = SpatialDataFrame.from_layer(fl)

df = sdf.copy()
df = df[df["site_status"]!="Closed"]
print(len(df))
df.head()
## save the file to local directory
df.to_csv(path+'Status.csv')

如您所见,代码输出一个csv文件。我将csv文件保存到本地目录。我只想每2小时自动运行一次代码并生成一个新的csv文件。因此,每2小时,新的csv文件将覆盖旧的csv文件

我对自动化没有太多的了解,所以任何帮助都将不胜感激

谢谢


Tags: 文件csvtheto代码fromlayerdataframe
2条回答

好吧,有一个简单的方法来实现这一点!您可以将代码包装在while循环中,并在循环体的末尾添加time.sleep()函数

from arcgis.features import SpatialDataFrame
import time

while True:
    fl = known_item.tables[0]

    # Use the `from_layer` method of the Spatial DataFrame to create a new Spatial DataFrame
    sdf = SpatialDataFrame.from_layer(fl)

    df = sdf.copy()
    df = df[df["site_status"]!="Closed"]
    print(len(df))
    df.head()

    ## save the file to local directory
    df.to_csv(path+'Status.csv')
    
    # wait for 2 hours
    time.sleep(7200) 

你可以睡两个小时,然后把整个代码放在for循环中

import time
from arcgis.features import SpatialDataFrame
for i in range(100):
  fl = known_item.tables[0]
  # Use the `from_layer` method of the Spatial DataFrame to create a new Spatial DataFrame
  sdf = SpatialDataFrame.from_layer(fl)

  df = sdf.copy()
  df = df[df["site_status"]!="Closed"]
  print(len(df))
  df.head()
  ## save the file to local directory
  df.to_csv(path+'Status.csv')
  time.sleep(60*60*2)#60 seconds*60 minutes*2 = 2 hours

相关问题 更多 >

    热门问题