简体   繁体   English

无法使用 pandas 读取 xlsx 文件

[英]Cant read xlsx file with pandas

I am trying read.xlsx file as dataframe. File itself has two worksheet but when I tried to read it returns empty worksheet.我正在尝试将 read.xlsx 文件作为 dataframe。文件本身有两个工作表,但是当我尝试读取它时,它返回空工作表。 Even though I have specified the sheet_name, it returns there is not a worksheet named like you have provided.即使我指定了 sheet_name,它也会返回没有像您提供的那样命名的工作表。

I have used several methods but all returns [].我使用了几种方法,但都返回 []。 ''' '''

from openpyxl import load_workbook
workbook = load_workbook(filename="filename.xlsx",read_only = True, data_only = True)
print(workbook.sheetnames)

''' '''

''' '''

xl = pd.read_excel('filename.xlsx',engine='openpyxl')
xl.sheet_names

''' '''

With pandas:使用 pandas:

pandas.read_excel pandas.read_excel

import pandas as pd
df = pd.read_excel(
    io='filename.xlsx',
    sheet_name='your sheet name',
    engine='openpyxl'
)

With openpyxl:使用 openpyxl:

Read an existing workbook and Converting a worksheet to a Dataframe 阅读现有工作簿并将工作表转换为 Dataframe

from openpyxl import load_workbook
import pandas as pd
wb = load_workbook(
    filename='filename.xlsx',
    data_only=True
)
sheet_names = wb.sheetnames  # list available sheet names in workbook
ws = wb['your sheet name']
df = pd.DataFrame(data=ws)

If you need list of sheet names:如果您需要工作表名称列表:

xl = pd.ExcelFile('filename.xlsx')
xl.sheet_names

# to read from specific sheet
xl.parse(sheetname)

If you know the sheet name just use:如果您知道工作表名称,只需使用:

pd.read_excel('filename.xlsx', sheet_name='sheetname')

Thanks everyone, I found the problem.谢谢大家,找到问题了。 It was because of excel.这是因为 excel。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM