首页 > 解决方案 > Excel python openpyxl方法

问题描述

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

标签: pythonexcel

解决方案


谢谢大家,它可以工作,但现在又出现了另一个问题。

我想在没有第一行的情况下像以前一样开始,我使用了 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] 中获取数据之一。

感谢您的任何建议。


推荐阅读