如何用python 3打开xlsx文件

8tntrjer  于 2023-05-05  发布在  Python
关注(0)|答案(4)|浏览(136)

我有一个xlsx文件与1表。我尝试使用python 3(xlrd lib)打开它,但我得到一个空文件!
我使用这个代码:

file_errors_location = "C:\\Users\\atheelm\\Documents\\python excel mission\\errors1.xlsx"
workbook_errors = xlrd.open_workbook(file_errors_location)

我没有错误,但是当我输入:

workbook_errors.nsheets

我得到“0”,甚至文件有一些表…当我键入:

workbook_errors

我得到:

xlrd.book.Book object at 0x2..

有帮助吗?谢谢。

v09wglhw

v09wglhw1#

您可以像使用pandas.read_csv一样使用Pandas pandas.read_excel

import pandas as pd
file_errors_location = 'C:\\Users\\atheelm\\Documents\\python excel mission\\errors1.xlsx'
df = pd.read_excel(file_errors_location)
print(df)
ax6ht2ek

ax6ht2ek2#

阅读xls文件有两个模块:openpyxl和xlrd
这个脚本允许你转换一个excel数据到字典列表中使用xlrd

import xlrd

workbook = xlrd.open_workbook('C:\\Users\\atheelm\\Documents\\python excel mission\\errors1.xlsx')
workbook = xlrd.open_workbook('C:\\Users\\atheelm\\Documents\\python excel mission\\errors1.xlsx', on_demand = True)
worksheet = workbook.sheet_by_index(0)
first_row = [] # The row where we stock the name of the column
for col in range(worksheet.ncols):
    first_row.append( worksheet.cell_value(0,col) )
# tronsform the workbook to a list of dictionnary
data =[]
for row in range(1, worksheet.nrows):
    elm = {}
    for col in range(worksheet.ncols):
        elm[first_row[col]]=worksheet.cell_value(row,col)
    data.append(elm)
print data
jtw3ybtb

jtw3ybtb3#

不幸的是,读取Excel文档所需的python引擎“xlrd”已显式删除了对xls文件以外的任何内容的支持。
所以你现在可以这么做-

  • 安装openpyxl:

https://openpyxl.readthedocs.io/en/stable/

  • 将pandas代码更改为:

pandas.read_excel('cat.xlsx', engine='openpyxl')
注意:这对我来说是最新版本的Pandas(即以前,我使用的是0.24.0版本,它不工作,所以我不得不更新到最新版本。

g9icjywg

g9icjywg4#

另一种方法是:

import openpyxl 
workbook_errors = openpyxl.Workbook()
workbook_errors = openpyxl.load_workbook(file_errors_location)

相关问题