import openpyxl, os
cwd = os.getcwd()
print(cwd)
wb = openpyxl.load_workbook('Hello.xlsx')
print (type(wb))
sheetNames = wb.sheetnames
print(sheetNames[1])
sheet0 = sheetNames[0]
print (sheet0['A1']) <--TypeError: string indices must be integers
我也试过在最后使用.value。单元格中包含数字55。我是python的新手所以请帮助。另外,如果有人在excel和python上有一个很好的资源,那将会有所帮助。 openpyxl似乎是最新的,所以我试图使用它,但文档很差。
答案 0 :(得分:1)
sheetname0是第一张表的名称。因此,当您运行A1
时,您正在做的是尝试访问字符串的元素A1
- 这是没有意义的。如果您希望访问该工作表的单元格ws = wb[sheetNames[0]]
,则必须首先访问该工作表对象。
print(ws['A1'])
现在您已拥有该表格,您可以访问该单元格:
snake_case
也是Python的一般提示,考虑到你说你是新手,它通常建议你使用use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
作为变量名。
答案 1 :(得分:0)
默认情况下,您可以使用wb.active
获取第一个工作表对象:
import openpyxl
wb = openpyxl.load_workbook('Hello.xlsx')
ws = wb.active
print(ws['A1'].value)
wb.sheetnames
为您提供了所有工作表名称的列表,例如['Sheet1', 'Sheet2']
。要获取相应的工作表对象,您将使用:
ws = wb[wb.sheetnames[0]]
print(ws['A1'].value)