python-在循环中创建变量,然后赋值
我试图在一个循环中创建变量,然后在同一个循环迭代中为它们赋值。我的代码失败了,我知道原因,但无法找到修复方法。我在所有导入包的当前版本中使用Python3.6。这是我的密码:python-在循环中创建变量,然后赋值,python,excel,loops,variables,openpyxl,Python,Excel,Loops,Variables,Openpyxl,我试图在一个循环中创建变量,然后在同一个循环迭代中为它们赋值。我的代码失败了,我知道原因,但无法找到修复方法。我在所有导入包的当前版本中使用Python3.6。这是我的密码: import openpyxl months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] for month in
import openpyxl
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
for month in months:
filepath = 'C:\codes\Furnace_time_log\\2019\\' + month + '_2019.xlsx'
workbook_name = month+'_wb'
workbook_name = openpyxl.load_workbook(filepath)
sheet_name = month+'_sheet'
sheet_name = workbook_name.get_sheet_by_name('Sheet1')
我想要的是12个名为“一月工作表”、“二月工作表”的openpyxl工作表对象
在我前面的代码中,我有下面的示例,它完全实现了它的功能。这就是我错误代码的逻辑依据:
head_wb = openpyxl.load_workbook('C:\codes\Furnace_time_log\head.xlsx')
head_sheet = head_wb.get_sheet_by_name('Sheet 1')
我正在使用一个Excel文件,其中每一行都包含一个日期和许多其他有用的信息。如果x行的日期是1月,我需要将相邻数据放在一个单独的XLSX文档(“Janur_2019.XLSX”)中,我可以通过Janur_sheet对象进行编辑
关于如何做到这一点,有什么建议吗?此外,我不关心性能。此代码只需在完整数据集上运行一次。我意识到可能有比同时打开12个openpyxl工作簿和工作表更有效的方法。话虽如此,我们欢迎任何更好的方法来实现这一点。我根本不知道您的界面,但这就是我收集到的:
导入openpyxl
月份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]
工作表={}
月份中的月份:
文件路径='C:\\codes\\FURNER\U time\U log\\2019\\'+MOUNT+'\U 2019.xlsx'
工作簿=openpyxl.load\u工作簿(文件路径)
工作表名称=月份+“\u工作表”
工作表=工作簿名称。按工作表名称获取工作表(工作表名称)
工作表[月份]=工作表
这是假设您的工作表命名为xxxx\u月
(例如一月\u月
,区分大小写),而不是您最初使用的Sheet1
。完成此操作后,将有一个字典将月份名称映射到工作表对象
如果我所做的事情没有意义,请告诉我,我将进行编辑。我可以看到您的代码存在一些问题:
sheet_name = month+'_sheet'
sheet_name = workbook_name.get_sheet_by_name('Sheet1')
您试图做的是动态创建一个变量名和值。除非非常需要创建这样一组变量,否则我建议使用列表或字典:
months = ['January', 'February', 'March','April', 'May', 'June', 'July',
'August', 'September', 'October', 'November', 'December']
wb_format = r'C:\codes\Furnace_time_log\2019\{}_2019.xlsx'
workbooks = dict((month, wb_format.format(month)) for month in months)
如果确实要创建这些变量,请查找和,但一定要小心。通常,显示错误消息和代码失败的位置会有帮助。有关许多选项,如字典、命名元组等,请参阅此问题:1。只有一个Excel文件具有
工作表1
。2.您希望根据工作表1
列中的日期创建多个文件。请确认。另外,发布标题和前5行数据。谢谢,这正是我所需要的!