Excel python openpyxl methods



Python excel方法无法正常工作。

import pandas as pd
import os
from openpyxl import load_workbook

path = "C:\My files\Staff\xProject\ProjektExcelPython\test_files\"
spreadsheet_file = pd.read_excel(os.path.join(path, "PlikExcelDoKonwersji.xlsx"), engine='openpyxl', header = 1)
print(spreadsheet_file)

它工作得很好,但如果我想使用openpyxl中的方法,我会出错。

import pandas as pd
import os
from openpyxl import load_workbook

path = "C:\My files\Staff\xProject\ProjektExcelPython\test_files\"
spreadsheet_file = pd.read_excel(os.path.join(path, "PlikExcelDoKonwersji.xlsx"), engine='openpyxl', header = 1)
#sheet = spreadsheet_file.sheet_by_name('sheet')
book = load_workbook(path, "PlikExcelDoKonwersji.xlsx")
sheet = book['SendMail1']
data = []
for row in sheet.rows:
print(row[1].value)

错误:

line 94, in _validate_archive
raise InvalidFileException(msg)
openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support  file format, please check you can open it with Excel first. Supported formats are: .xlsx,.xlsm,.xltx,.xltm
Process finished with exit code 1

load_workbook函数只接受一个文件路径参数。尝试

book = load_workbook(os.path.join(path, "PlikExcelDoKonwersji.xlsx"))

与其将路径设为2值,不如将其设为1。例如,Try:

book = load_workbook("C:\My files\Staff\xProject\ProjektExcelPython\test_files\PlikExcelDoKonwersji.xlsx")

谢谢大家,它有效,但现在又出现了另一个问题。

我想像以前一样在没有第一行的情况下开始,我使用了header=1,但现在它不起作用了,我去找文档。

def load_workbook(filename, read_only=False, keep_vba=KEEP_VBA,
data_only=False, keep_links=True):

所以它不存在。你是如何在openpyxl中管理它的?

我想做一些类似的东西:

在列[1]中查找名称,在列[2]中查找名称相同,并使用列[1]和列[2]从行[7]中获取一个数据。

谢谢你的建议。

最新更新