Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.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 要在第3列中标识具有相同值的行,并在输出上对它们进行分组吗_Python_Python 3.x - Fatal编程技术网

Python 要在第3列中标识具有相同值的行,并在输出上对它们进行分组吗

Python 要在第3列中标识具有相同值的行,并在输出上对它们进行分组吗,python,python-3.x,Python,Python 3.x,希望在不使用panda的情况下执行此操作,因为它使pyinstaller.exe文件变为74MB,而不是7.7MB,而且编译需要大约10倍的时间,并且.exe运行时速度较慢 我有一个这样的.csv文件,在[3]列上排序,假设列从[0]开始: Class,USB3,10,25,Y Class,PCIE_CLK,8,31,Y Class,PCIE_RX,8,31,Y Class,PCIE_TX,8,31,Y Class,PCIE_TX_C,8,31,Y Class,DDR4_B0,3.20,38,Y

希望在不使用panda的情况下执行此操作,因为它使pyinstaller.exe文件变为74MB,而不是7.7MB,而且编译需要大约10倍的时间,并且.exe运行时速度较慢

我有一个这样的.csv文件,在[3]列上排序,假设列从[0]开始:

Class,USB3,10,25,Y
Class,PCIE_CLK,8,31,Y
Class,PCIE_RX,8,31,Y
Class,PCIE_TX,8,31,Y
Class,PCIE_TX_C,8,31,Y
Class,DDR4_B0,3.20,38,Y
Class,DDR4_B1,3.20,38,Y
Class,DDR4_B2,3.20,38,Y
Class,DDR4_B3,3.20,38,Y
Class,DDR4_ADDR,3.20,39,Y
Class,DDR4_0,3.20,39,Y
Class,DDR4_1,3.20,39,Y
Class,DDR4_2,3.20,39,Y
Class,DDR4_3,3.20,39,Y
我想在[3]列中识别和分组具有相同值的行。 最终,输出将如下所示:

25,USB3
31,PCIE_CLK or PCIE_RX or PCIE_RX or PCIE_TX or PCIE_TX_C
38,DDR4_B0 or DDR4_B1 or DDR4_B2 or DDR4_B3
39,DDR4_0 or DDR4_1 or DDR4_2 or DDR4_3
我真的不知道从哪里开始

您可以使用itertools.groupby

输出:

25 USB3
31 PCIE_CLK PCIE_RX PCIE_TX PCIE_TX_C
38 DDR4_B0 DDR4_B1 DDR4_B2 DDR4_B3
39 DDR4_ADDR DDR4_0 DDR4_1 DDR4_2 DDR4_3

好的,现在我正试图把它写入一个csv文件,我又被难倒了。很抱歉,我是个新手。@CPMAN生成的CSV文件应该如何构造?在CSV中,所有的行都应该有相同的列数,所以不同的项目应该全部放在一行中,作为一个字符串还是类似的?这一点很好。将其写入文本文件,使其看起来像打印输出。@CPMAN为此,您可以将结果通过管道传输到文本文件:python3 your_script.py>output.txt。或者使用另一个openoutput.txt,w作为f,然后f.write。。。写入该文件。我已经尝试了f写入。。。方法,但我不知道在。。。部分叹气我必须看起来像个真正的傻瓜。我在程序的其他部分编写了大量需要的.csv和.txt文件,但在本例中,我与groupby一起工作,无法确定要编写什么。谢谢你的耐心。
25 USB3
31 PCIE_CLK PCIE_RX PCIE_TX PCIE_TX_C
38 DDR4_B0 DDR4_B1 DDR4_B2 DDR4_B3
39 DDR4_ADDR DDR4_0 DDR4_1 DDR4_2 DDR4_3