Python中的pd.read_excel

时间:2017-03-17 10:26:56

标签: python excel pandas python-3.6

我目前正在使用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) 

1 个答案:

答案 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