【问题标题】:Pandas - Excel Import - Python - Glob, How to place string variable in importPandas - Excel 导入 - Python - Glob,如何在导入中放置字符串变量
【发布时间】:2015-02-20 15:53:29
【问题描述】:

我正在尝试导入映射到本地 Z: 驱动器位置的 excel 文件。此位置包含许多文件。我只想加载标题中包含昨天日期的那些.. 到目前为止,我已经这样做了:

import glob
import pandas as pd
from datetime import date, timedelta

yesterday = date.today() - timedelta(1)
yesterday = yesterday.strftime('-%m-%d-%y')

all_data = pd.DataFrame()
for f in glob.glob('Z:*[yesterday]*'):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)`

但是,尝试导入时不会调用变量“昨天”。我知道我的语法一定是错误的,因为所有文件都被调用了。如何在导入条件中包含“昨天”?

【问题讨论】:

    标签: python excel pandas glob


    【解决方案1】:

    我唯一能确定的可能问题是你的 for 循环中昨天的括号。 [yesterday]

    试试这个

    for f in glob.glob('Z:*' + yesterday + '*'):
    

    【讨论】:

      【解决方案2】:

      你试过只用 if 吗?

      all_data = pd.DataFrame()
      for f in glob.glob('Z:'):
          if yesterday in f:
              df = pd.read_excel(f)
              all_data = all_data.append(df,ignore_index=True)
      

      【讨论】:

      • 由于某种原因返回一个空数据框。我认为这可能是因为标题中还有其他字符。我只需要导入条件来识别标题中的某处将有“昨天”并仅导入具有该字符串的那些。
      猜你喜欢
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2020-05-31
      • 2012-06-02
      • 2019-08-14
      • 1970-01-01
      相关资源
      最近更新 更多