带有excel中特定单元格值的条件



我正在尝试用python编写以下matlab代码:

function[x,y,z] = Testfunc(filename, newdata, a, b)
sheetname = 'Test1';
data = xlsread(filename, sheetname);
if data(1) == 1
newdata(1,3) = data(2);
newdata(1,4) = data(3);
newdata(1,5) = data(4);
newdata(1,6) = data(5)
else
....
....
....

这是一个很长的功能,但这是我被卡住的部分,我一点都不知道。这是我迄今为止在python中所写的内容:

import pandas as pd
def test_func(filepath, newdata, a, b):
data = pd.read_excel(filepath, sheet_name = 'Test1')
if data[0] == 1:

我被困在这里,伙计们,我甚至不确定"如果"的说法是否正确。我正在寻求建议和帮助。

信息:excel表格有1行13列,newdata也是一个二维矩阵

尝试运行该代码并打印出数据帧(print(data)(。您将看到数据帧不同于MATLAB矩阵。read_excel将尝试推断您的列,因此您可能没有行,只有列。防止熊猫阅读专栏使用:

data = pd.read_excel(filepath, sheet_name='Test1', header=None)

使用索引访问data将对该行进行索引。因此,您的比较是试图找出该行是否等于1(在您的情况下,这从来都不是真的(。若要对给定单元格进行索引,必须首先对该行进行索引。要实现您在MATLAB中所做的操作,请在数据帧上使用iloc索引器:data.iloc[0,0]。它在中执行的操作将访问第0行的元素0。你的代码应该是这样的:

import pandas as pd
def test_func(filepath, newdata, a, b):
data = pd.read_excel(filepath, sheet_name = 'Test1')
if data.iloc[0,0] == 1:
newdata.iloc[0,2:6] = data.iloc[0,1:5]
....

我建议你读一读熊猫索引。

相关内容

  • 没有找到相关文章

最新更新