读取某个单元格范围的特定列,并使用Pandas存储这些值

时间:2015-09-14 19:26:22

标签: python excel list pandas cell

我试图找出一种从特定单元格区域读取特定列的数据并使用pandas将其存储到数组中的方法。

例如,我的Excel工作表包含:

测试| p

食品|价

鸡| 8.54

牛肉| 6.73

蔬菜| 3.2

总价格| 18.47

注意:由于某种原因,第一行有一个空白区域。 注意:|表示细胞分离。

我试图获取从行B3开始到行B5的价格值,并通过[8.54,6.73,3.2]将它们存储到一个数组中。

到目前为止,我的代码是:

import pandas as pd

xl_workbook = pd.ExcelFile("readme.xlsx")  # Load the excel workbook
df = xl_workbook.parse("Sheet1")  # Parse the sheet into a dataframe
x1_list = df['p'].tolist()  # Cast the desired column into a python list
print(x1_list)

然后导致[nan,u'price',8.54,6.73,3.2]

如果我只是想读取值8.54,6.73和3.2,得到[8.54,6.73,3.2]我该怎么做?

有没有办法获取特定细胞范围的某一列?

1 个答案:

答案 0 :(得分:1)

如上所述,您可以在Pandas中使用read_excel。这假设您具有一致的格式。

import pandas as pd

# define the file name and "sheet name"
fn = 'Book1.xlsx'
sn = 'Sheet1'

data = pd.read_excel(fn, sheetname=sn, index_col=0, skiprows=1, header=0, skip_footer=1)