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]中获取一个数据。
谢谢你的建议。