微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas:将特定的Excel单元格值读入变量

情况:

我正在使用pandas在工作簿中使用以下设置解析单独的Excel(.xlsx)工作表:Windows 7 x64上的Python 3.6.0和Anaconda 4.3.1.

问题:

我一直无法找到如何将变量设置为特定的Excel工作表单元格值,例如var = Sheet [‘A3’].使用pandas从’Sheet2’获取值?

题:

这可能吗?如果是这样,怎么样?

我尝试过的:

我已经在数据框和各种论坛上搜索了pandas文档,但还没有找到答案.

我知道我可以使用openpyxl解决这个问题(我可以指定一个单元格坐标)但我想:

>使用熊猫 – 如果可能的话;
>只读入一次文件.

我已经导入了numpy和pandas,所以能够写:

xls = pd.ExcelFile(filenamewithpath) 

data = xls.parse('Sheet1')
dateinfo2 = str(xls.parse('Sheet2', parse_cols = "A", skiprows = 2, nrows = 1, header = None)[0:1]).split('0\n0')[1].strip()

‘Sheet1’被读入’数据’很好,因为我有一个收集我想要的范围的功能.

我也试图从单独的表格(‘sheet2’)读入单元格“A3”中的值,而我目前的代码是笨重的.它根据需要将值作为字符串输出,但绝不是很漂亮.我只想要这个单元格值和尽可能少的附加工作表信息.

解决方法:

详细阐述@ FLab的评论使用了以下内容

编辑:

更新了答案,以对应更新的问题,询问如何一次阅读一些工作表.
因此,通过向read_excel()提供sheet_name = None,您可以一次读取所有工作表,并且pandas返回DataFrames的数据,其中键是Excel工作表名称.

import pandas as pd
In [10]:

df = pd.read_excel('Book1.xlsx', sheetname=None, header=None)
df
Out[11]:
{u'Sheet1':    0
 0  1
 1  1, u'Sheet2':     0
 0   1
 1   2
 2  10}
In [13]:
data = df["Sheet1"]
secondary_data = df["Sheet2"]
secondary_data.loc[2,0]
Out[13]:
10

或者,如this post中所述,如果您的Excel文件有多个工作表,您可以将工作表名称列表,工作表名称传递给例如.

df = pd.read_excel('Book1.xlsx', sheetname=["Sheet1", "Sheet2"], header=None)

用户6241235用于挖掘最后一个替代品

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐