情况:
我正在使用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”中的值,而我目前的代码是笨重的.它根据需要将值作为字符串输出,但绝不是很漂亮.我只想要这个单元格值和尽可能少的附加工作表信息.
解决方法:
编辑:
更新了答案,以对应更新的问题,询问如何一次阅读一些工作表.
因此,通过向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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。