将linux命令的输出发送到pandas数据帧中



我有以下linux命令:

os.system('cat *' + FILENAME + '*comp_value/' + VARINLASTLINE + '.csv | grep -v SOMETHING | sort -u > test.csv')

可以看出,我首先对一些csv文件进行cat,grep消除最后一行,然后使用sort创建一个test.csv文件。然而,我将为一个大文件列表做这件事,我不想每次把文件放在一起时都创建伪test.csv文件。有没有办法将这些文件的cat直接输出到pandas数据帧中,而不是创建csv文件?

您可以使用os.popen:

cmd = 'cat *' + FILENAME + '*comp_value/' + VARINLASTLINE + '.csv | grep -v SOMETHING | sort -u > test.csv'
pipe = os.popen(cmd)
df = pandas.read_csv(pipe)

相关内容