我目前正在使用read_excel来访问我的Excel文件,并且我已经通过引用列的第一个单元格对象(工作表中的列标题)为工作表中的每一列指定了变量)。现在这工作正常,我只能通过引用我指定的变量对每列中的数据进行排序。但是,当我将sheetname参数添加到read_excel以便将我的排序代码应用于excel文件中具有相同列位置和第一个单元格对象(excel表中的列标题)的其他工作表时,我得到一个错误。我该怎么办?
import pandas as pd
#import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use('ggplot')
#import os
#import collections
from collections import defaultdict
#import pylab as pl
#import xlrd
import warnings; warnings.simplefilter('ignore')
# reading the excel sheet
df = pd.read_excel('file_path.xlsx')
# assigning variables to each column
gender = df['Gender']
name = df['Name']
age = df['Age']
district = df['District']
school = df['School']
private_public = df['Is your school']
settlement_type = df['Type of settlement']
我收到此错误消息
文件" C:/ Users / qanda / OneDrive / Documents / Python Scripts / PEN / pen_data_man.py",第25行,in 性别= df ['性别'] KeyError:'性别'
当我添加 sheetname = None
时df = pd.read_excel('file_path.xlsx')
到
df = pd.read_excel('file_path.xlsx', sheetname=None)
答案 0 :(得分:0)
如果选中docs:
参数sheetname允许指定要读取的一个或多个工作表 sheetname的默认值为0,表示读取第一张纸 传递一个字符串以引用工作簿中特定工作表的名称 传递一个整数来引用工作表的索引。指数遵循Python惯例,从0开始 传递字符串或整数的列表,以返回指定工作表的字典 通过无返回所有可用工作表的字典。
因此,如果为所有None
添加dictionary
参数获取DataFrames
,则每个工作表名称为df
:
dfs = pd.read_excel('multiple_sheets.xlsx', sheetname=None)
print (dfs)
{'sheetname2': t w
0 7 1
1 5 0, 'sheetname1': a b
0 1 4
1 2 8}
df1 = dfs['sheetname1']
print (df1)
a b
0 1 4
1 2 8
df2 = dfs['sheetname2']
print (df2)
t w
0 7 1
1 5 0