我有一个csv文件,结构如下:
time,magnitude
0,13517
292.5669,370
620.8469,528
0,377
832.3269,50187
5633.9419,3088
20795.0950,2922
21395.6879,2498
21768.2139,647
21881.2049,194
0,3566
292.5669,370
504.1510,712
1639.4800,287
46709.1749,365
46803.4400,500
我想将此csv文件拆分为单独的csv文件,如下所示:
文件一:
time,magnitude
0,13517
292.5669,370
620.8469,528
档案二:
time,magnitude
0,377
832.3269,50187
5633.9419,3088
20795.0950,2922
21395.6879,2498
等等。
我读过几篇类似的文章(例如,this,this或this one),但他们都在一个列中搜索特定的值,并将每组值保存到单独的文件中。然而,在我的情况下,time列的值是不一样的。我想根据一个条件拆分base:If time = 0, save that row and all subsequent rows in a new file until the next time =0
。
有人能告诉我怎么做吗?
4条答案
按热度按时间klr1opcd1#
使用pandas,您可以使用
groupby
和 *boolean索引 *:输出:
toe950272#
datasplit.awk
使文件可执行:
从写入数据的文件夹开始:
8cdiaqws3#
我冒昧地创建了一些类似于您提供的数据来测试我的解决方案。此外,我没有使用输入
csv
文件,而是使用了dataframe
。下面是我的解决方案:我的输出是四个
csv
文件:output_file_1.csv
output_file_2.csv
output_file_3.csv
output_file_4.csv
owfi6suc4#
你可以用panda很容易地做到这一点,就像这样: