Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于列名和值的Python解析xlsx_Python_Pandas_Xlsx - Fatal编程技术网

基于列名和值的Python解析xlsx

基于列名和值的Python解析xlsx,python,pandas,xlsx,Python,Pandas,Xlsx,我正在尝试解析以下xlsx文件: 输入图像描述 我在这里试图做的是,只返回为名为“RUT230001E014”的列找到编号为“1”的行 我在本例中寻找的答案如下: item 1 1 item 5 1 因为只有这两个项目被赋值为“1”。分配了“0”的其他人我不关心 我一直在研究dataframe.loc函数,但我无法完全弄清楚如何使用它来定位列中的特定值 更新******** 所以RUTXXXXXXX是序列号。每个序列号都分配了不同的项目组合。根据我正在执行的操作,我需要知道特定序列号附加到哪

我正在尝试解析以下xlsx文件: 输入图像描述

我在这里试图做的是,只返回为名为“RUT230001E014”的列找到编号为“1”的行

我在本例中寻找的答案如下:

item 1 1
item 5 1
因为只有这两个项目被赋值为“1”。分配了“0”的其他人我不关心

我一直在研究dataframe.loc函数,但我无法完全弄清楚如何使用它来定位列中的特定值

更新********


所以RUTXXXXXXX是序列号。每个序列号都分配了不同的项目组合。根据我正在执行的操作,我需要知道特定序列号附加到哪些项目和数量

将您的
项目名称
行更改为该行,然后尝试:

item_names = data[data['RUT23001E014'] == 1]
print(items_df)

您可以删除您创建的
ID
-它没有用

data=pd.read\u excel(“test.xlsx”).query('rut230001e014==1')
好的,这比我想象的还要简单。谢谢你,先生。您还可以帮助我理解如何进一步解析结果吗。数据现在返回给我两行信息。我想将它们存储在两个不同的阵列中。一个用于项目名称,一个用于数量。例如:
item\u数组=[item1,item5]
quantity\u数组=[1,1]
。或者更好的结构或类。我需要保存的原因是数量可能不是一直都是1,可能是2、3或其他。因此,我需要知道为特定列分配的每个项的数量为何需要保留两个单独的数组?学习过滤数据帧的正确方法。此外,哪一列是数量列?我指的是“数量”列,即名为RUT230001E014的列。以下数字是分配给该序列号(RUT230001E014)的特定项目的数量。此外,我还需要收集特定列的项目名称和数量列表,因为我以后需要对该数据执行其他操作(将数据上载到数据库)。我需要一个项目名称和数量,其中数量>0。对于上面的特定示例,我需要保存两个项目名称(item1,item5)和两个数量(1,1)。我认为最方便的方法是将它们保存在一个类item_data中,其中item_data包含两个变量:name和quantity。这样我就可以通过类轻松访问项目名称和数量。请看一个更详细的xlsx表示例(我更新了我的初始帖子)。这将更加清楚我为什么需要保存数据
item_names = data[data['RUT23001E014'] == 1]
print(items_df)