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

标签 python excel pandas numpy

情况:

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

问题:

我一直无法找到如何将变量设置为特定的 Excel 工作表单元格值,例如var = Sheet['A3'].value 来自 'Sheet2' 使用 pandas

问题:

这可能吗?如果是这样,如何?

我尝试过的:

我在 dataframe 和各种论坛上搜索了 pandas 文档,但没有找到答案。

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

  1. 使用pandas - 如果可能;
  2. 文件只读一次。

我已经导入了 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' 被读入 'data' 很好,因为我有一个函数来收集我想要的范围。

我也在尝试从单独的工作表 ('sheet2') 中读取单元格 "A3" 中的值,而我目前的代码是笨重的。它根据需要将值作为字符串输出,但一点也不漂亮。我只想要这个单元格值和尽可能少的附加工作表信息。

最佳答案

使用 Pandas 读取 Excel 文件将默认使用数据框。您不需要整个表格,只需要一个单元格。我这样做的方法是使该单元格成为标题,例如:

# Read Excel and select a single cell (and make it a header for a column)
data = pd.read_excel(filename, 'Sheet2', index_col=None, usecols = "C", header = 10, nrows=0)

将返回一个包含 1 个标题但没有数据的“列表”。然后隔离该 header :

# Extract a value from a list (list of headers)
data = data.columns.values[0]
print (data)

关于python - Pandas:将特定的 Excel 单元格值读入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544514/

相关文章:

python - 如何在 Django 中注销?

vba - Excel 2010 将范围和图片粘贴到 Outlook 中

excel - 如何显示错误信息和停止宏

python - 如何根据列值将数据拆分为训练和测试并打乱组合?

python - Pandas - 缺少日期的滚动总和

python - 根据多个条件获取 df 的分段

python - 正则表达式 - 如果不匹配则匹配这个 - Python

python - 使用 SQLAlchemy 在 PostgreSQL 中创建函数和触发器

python - 仅在 R block 的情况下继承先前 block 中设置的变量(R markdown)

vba - 使用 VBA 将文本转换为 Excel 中的列