Pythonic使用变量作为另一个变量的一部分的方式?

时间:2018-04-11 14:10:32

标签: python date

我能说得最清楚。

我有一些代码可以读入两个CSV文件。一个CSV文件包含数据,另一个包含有关此数据的信息...让我们称之为配置。

data_jan2018.csv
data_feb2018.csv
config.csv

现在,配置中包含我想要阅读的日期的列。我按照以下方式阅读这些内容:

data_config = pd.read_csv(loc + data_config_name)

# Read in dates from config file
dates = data_config.drop_duplicates('Start_date')
dates = dates[['Start_date','End_date']]
print(dates)
Start_date = dates['Start_date'].tolist()
End_date = dates['End_date'].tolist()

StartDate = ''.join(Start_date)
EndDate = ''.join(End_date)

print(StartDate)
print(EndDate)

date1 = datetime.strptime(StartDate, '%d%b%Y')
date2 = datetime.strptime(EndDate, '%d%b%Y')

# Loop across months
for dt in rrule.rrule(rrule.MONTHLY, dtstart=date1, until=date2):
    print(dt)

    reporting_date = dt.strftime('%d%b%Y')
    reporting_date_fmt = dt.strftime(date_format)

    print('Formatted reporting_date is ' + reporting_date_fmt)
    source_data = pd.read_csv(loc + source_data_name)
    source_data.columns = source_data.columns.str.lower()

如您所见,我想阅读一个名为source_data_name的csv文件。但是,此文件名包含格式化的reporting_date_fmt。我希望程序员在代码的开头编辑文件名,这样我就可以将这些行放在顶部:

date_format = '%b%Y'
source_data_name = 'g4_RWA_sample_' + reporting_date_fmt + '.csv'

但当然这标志着一个警告,告诉我尚未创建reporting_date_fmt。有解决方法吗?

1 个答案:

答案 0 :(得分:0)

在文件顶部单独定义数据名称,然后在定义格式后附加格式和扩展名。

data_name = 'g4_RWA_sample_'
...
source_data_name = data_name + reporting_date_fmt + '.csv'