我有一个CSV文件, struct 如下:

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文件,如下所示:

文件1:文件1:

time,magnitude
0,13517
292.5669,370
620.8469,528

文件2:文件2:

time,magnitude
0,377
832.3269,50187
5633.9419,3088
20795.0950,2922
21395.6879,2498

以此类推..

我读过几篇类似的文章(例如,thisthisthis one),但它们都在一列中搜索特定值,并将每组值保存到一个单独的文件中.但是,在我的例子中,Time列的值并不相同.我想分开,条件是:If time = 0, save that row and all subsequent rows in a new file until the next time =0.

有没有人能告诉我怎么做?

推荐答案

With , you can use groupby and boolean indexing :

#pip install pandas
import pandas as pd

df = pd.read_csv("input_file.csv", sep=",") # <- change the sep if needed

for n, g in df.groupby(df["time"].eq(0).cumsum()):
    g.to_csv(f"file_{n}.csv", index=False, sep=",")

发帖主题:Re:Kolibrios

    time  magnitude   # <- file_1.csv
  0.0000      13517
292.5669        370
620.8469        528

      time  magnitude # <- file_2.csv
    0.0000        377
  832.3269      50187
 5633.9419       3088
20795.0950       2922
21395.6879       2498

Python相关问答推荐

Chatgpt API不断返回错误:404未能从API获取响应

如何才能知道Python中2列表中的巧合.顺序很重要,但当1个失败时,其余的不应该失败或是0巧合

使用Keras的线性回归参数估计

根据不同列的值在收件箱中移动数据

如何从在虚拟Python环境中运行的脚本中运行需要宿主Python环境的Shell脚本?

数据抓取失败:寻求帮助

将JSON对象转换为Dataframe

转换为浮点,pandas字符串列,混合千和十进制分隔符

如何启动下载并在不击中磁盘的情况下呈现响应?

在Python 3中,如何让客户端打开一个套接字到服务器,发送一行JSON编码的数据,读回一行JSON编码的数据,然后继续?

在Python中使用if else或使用regex将二进制数据如111转换为001""

未调用自定义JSON编码器

在matplotlib中使用不同大小的标记顶部添加批注

Numpyro AR(1)均值切换模型抽样不一致性

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

如何训练每一个pandaprame行的线性回归并生成斜率

如何为需要初始化的具体类实现依赖反转和接口分离?

Pandas:计数器的滚动和,复位

Matplotlib中的曲线箭头样式

递归链表反转与打印语句挂起