在python中读取Excel文件

时间:2018-05-27 10:56:13

标签: python excel openpyxl

我想用python读取一个excel文件。我的第一次尝试是阅读工作表,然后第二次尝试是阅读细胞。不幸的是,我坚持第一步。

代码:

import openpyxl 
wb = openpyxl.load_workbook ("C:\\Users\\Alex\\Documents\\Python\\Übung\\example1.xlxs")

wb.get_sheet_by_name()

出现以下消息:

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-26-7b234f637152> in <module>()
      1 import openpyxl
----> 2 wb = openpyxl.load_workbook("\\Users\\Alex\\Documents\\Python\\Übung\\example1.xlxs")
      3 wb.get_sheet_by_name()

~\Anaconda3\lib\site-packages\openpyxl\reader\excel.py in load_workbook(filename, read_only, keep_vba, data_only, guess_types, keep_links)
    169 
    170     """
--> 171     archive = _validate_archive(filename)
    172     read_only = read_only
    173 

~\Anaconda3\lib\site-packages\openpyxl\reader\excel.py in _validate_archive(filename)
    116 
    117     try:
--> 118         archive = ZipFile(filename, 'r', ZIP_DEFLATED)
    119     except BadZipfile:
    120         f = repair_central_directory(filename, is_file_like)

~\Anaconda3\lib\zipfile.py in __init__(self, file, mode, compression, allowZip64)
   1088             while True:
   1089                 try:
-> 1090                     self.fp = io.open(file, filemode)
   1091                 except OSError:
   1092                     if filemode in modeDict:

FileNotFoundError: [Errno 2] No such file or directory: '\\Users\\Alex\\Documents\\Python\\Übung\\example1.xlxs'

我使用绝对路径引用该文件并退出,但为什么我会收到错误但仍未找到该文件?那么其余的错误消息呢,我不知道它们是什么意思或是否可以解雇。 谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

您的代码中有拼写错误:

example1.xlxs - &gt;此扩展名不存在。

正确的Excel文件扩展名为xlsx

答案 1 :(得分:0)

在没有代码块的情况下读取错误有点困难,但在筛选一下后,跟踪会读取,

FileNotFoundError: [Errno2] No such file or directory:
'\Users\Alex\Documents\Python\Übung\example1.xlxs'

在您的代码中,您有

wb = openpyxl.load_workbook("\Users\Alex\Documents\Python\Übung\example1.xlxs")

所以,似乎你没有提供完整的路径,你错过了C:\部分。可能就这么容易吗?

确认您已正确输入文件路径后,请随时回复。

答案 2 :(得分:-1)

对于大多数数据操作(包括数据分析),pandas一直是许多人的goto库。即使我强烈建议你使用熊猫:

import pandas as pd
df = pd.read_excel("excelFilePath.xlsx", sheet_name="Sheet1", usecols="C,D,E")
上面代码usecols="C,D,E"中的

注意:是列号而不是确切的列名。 JFYI:https://github.com/pandas-dev/pandas/issues/18273

在此处阅读更多内容:https://pandas.pydata.org/pandas-docs/stable/