python导入csv每

2024-05-16 11:02:10 发布

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

我需要帮助导入一个名为example this week的每周文件:filename\u 20191130, 上个星期是20191123。基本上,它是根据每个星期六的日期命名的。我需要导入3周前的文件。你知道吗

例如,如果我今天运行程序-我需要导入名为filename\u 20191130、filename\u 20191123、filename\u 20191116的csv

我试过今天的文件,但不起作用

 from datetime import datetime, timedelta
 thisweek =datetime.now().date().strftime("%Y%m%d%")

df = pd.read_csv('filename_' + thisweek.csv, header = 0)

谢谢!你知道吗


Tags: 文件csvfromimport程序datetimedateexample
2条回答

看起来您的字符串格式末尾多了一个“%”。此外,您将.csv错误地连接到文件名的末尾。“。csv“必须是字符串。你知道吗

>>> from datetime import datetime
>>> thisweek = datetime.now().date().strftime("%Y%m%d%")
>>> file = "filename_" + thisweek + ".csv"
>>> print(file)
filename_20191202%.csv

应该是:

>>> from datetime import datetime
>>> thisweek = datetime.now().date().strftime("%Y%m%d")
>>> file = "filename_" + thisweek + ".csv"
>>> print(file)
filename_20191202.csv
from datetime import datetime, timedelta

last_week = 3

today = datetime.today()
last_saturday = today - timedelta(days=(today.day))

for week in range(last_week):
    week_saturday = last_saturday - timedelta(days=7 * week)
    file_saturday = week_saturday.strftime("%Y%m%d")
    df = pd.read_csv(f"filename_{file_saturday}.csv", header=0)
    .....

或设置周数

weeks = 3
today = datetime.today()
last_saturday = today - timedelta(days=(today.day))
week_saturday = last_saturday - timedelta(days=7 * weeks)
file_saturday = week_saturday.strftime("%Y%m%d")
df = pd.read_csv(f"filename_{file_saturday}.csv", header=0)

相关问题 更多 >