使用python从每个excel表中提取某个单元格的值

时间:2017-06-09 19:28:58

标签: python excel

所以,30张excel表 - 每月费用2列费用 - 1列exp.desc,另一列是值:

C2单元格:费用说明D2单元格:金额

C3细胞:工资D3细胞:4300美元

C4电池:办公用品D4电池:350美元

C5格:银行收费D5格:43美元等。

所以,我可以使用以下代码访问这些单元格:

工作表名称为“1”,因此我将工作表分配给“sheet1”: sheet1 = workbook.get_sheet_by_name('1')

访问单元格:

exp1name = sheet1 ['C3']。value

exp1value = str(sheet1 ['D3']。value)

exp2name ....等

exp2value ... etc(与第一个相同)

但我不想在一个月内每天为每张纸做30或31次,我需要循环这个过程。

循环应该做: 在每张纸上循环两列,直到sheet31并打印值

对于专业人士来说,这是非常基本的代码,我尝试了很多次却无法做到,请帮忙。提前谢谢!

2 个答案:

答案 0 :(得分:0)

这里有一些可以帮助你入门的伪代码:

for i in range(1, 31):
    sheet = workbook.get_sheet_by_name(str(i))
    print(sheet['C3'].value)
    print(str(sheet['D3'].value))
    print()

最后一次打印用于在工作表之间添加空行。

答案 1 :(得分:0)

因此,如果我理解正确,您希望将所有数据存储到变量中吗?你不能使用相同的名称制作变量,所以我会使用字典,每天作为一个键,该值包含一个包含所有变量的字典:

month = {} # dictionary
for i in range (1,31): # For each day
    sheet_i = workbook.get_sheet_by_name(str(i))
    day = {}
    for j in range (2,5): # Depend on number of rows:
        day[sheet_i['C'+str(j)].value] = sheet_i['D'+str(j)].value
    month['sheet' + str(i)] = day

因此,如果您想获得本月第4天的费用:

expences_4th_day_of_the_month = month['sheet4']['expences']