我能说得最清楚。
我有一些代码可以读入两个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。有解决方法吗?
答案 0 :(得分:0)
在文件顶部单独定义数据名称,然后在定义格式后附加格式和扩展名。
data_name = 'g4_RWA_sample_'
...
source_data_name = data_name + reporting_date_fmt + '.csv'