我写了一个工作代码来查找文件夹,然后选择最新的.csv并将其连接到.db。我想为创建的每个.csv插入带有时间戳的列。
现在,它会更改整个.db的时间戳。
所以可以说我每分钟运行一次cron作业,它在csv中产生5行。我想为创建的每个.csv添加TimeStamp列,因此当我查看.db时,可以看到这五行是在min1处创建的。下2个在min2,min3,min4处。 。 。
import pandas as pd
import glob
from sqlalchemy import create_engine
import os
from datetime import datetime
folder = glob.glob("/Users/redacted/*.csv")
filepath = max(folder, key=lambda f: os.stat(f).st_ctime)
list = []
for file in folder:
df = pd.read_csv(filepath, index_col=0)
#This is my TimeStamp entry that currently changes the TimeStamp for
#my entire .db. So it always reflects the most recent time.
df.insert(0, 'TimeStamp',
pd.datetime.now().replace(microsecond=0))
list.append(df)
frame = pd.concat(list, axis=0, ignore_index=True, sort=True)
engine = create_engine('sqlite:////Users/redacted/test.db',
echo=False)
with engine.connect() as conn, conn.begin():
frame.to_sql('csv2', conn, if_exists='replace', index=False)
每次使用cron作业创建一个csv时,我都想为该特定csv插入一个TimeStamp列。因此,csv1的列具有唯一的时间戳,csv2的列具有唯一的Timestamp csv3。 。