我试图找出一种从特定单元格区域读取特定列的数据并使用pandas将其存储到数组中的方法。
例如,我的Excel工作表包含:
测试| p
食品|价
鸡| 8.54
牛肉| 6.73
蔬菜| 3.2
注意:由于某种原因,第一行有一个空白区域。 注意:|表示细胞分离。
我试图获取从行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]我该怎么做?
有没有办法获取特定细胞范围的某一列?
答案 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)