【发布时间】:2021-05-28 09:22:23
【问题描述】:
我有一个格式很糟糕的 .csv 文件。它只是具有多个时间序列的单列。我想根据部分字符串将该列拆分为多个列,但我不确定从哪里开始。数据如下:
tagname1
Time stamp:;Value:;Quality:;
2-5-2021 23:55:31;95.80;0x400c0
3-5-2021 00:06:48;95.80;0x400c0
....etc
tagname2
Time stamp:;Value:;Quality:;
2-5-2021 23:55:31;97.80;0x400c0
3-5-2021 00:06:48;98.80;0x400c0
....etc
tagname3
Time stamp:;Value:;Quality:;
2-5-2021 23:55:31;92.80;0x400c0
3-5-2021 00:06:48;93.80;0x400c0
....etc
所有这些数据只是一列,并且希望根据标记名将它们拆分。标记名始终以相同的部分字符串开头。 拆分此列后,需要根据分隔符“;”再次拆分数据,但这应该相对简单。
任何帮助将不胜感激!
【问题讨论】:
-
您编写了什么代码来纠正 csv 的不良状态? minimal reproducible example 你们中的哪些人将其分解并更好地格式化?你的代码有什么问题?你的问题在哪里?目前,这看起来像是一个“我需要 X - 为我编写代码”的任务,这在此处是题外话。
-
最简单的方法可能是逐行读取错误的 csv,每当您看到“标记名”('tagname_Nr{nr}.csv')时创建一个新的输出文件并将所有行写入该 csv 直到您到达下一个标记名。重复直到完成。这样你就可以拥有 N 个 csv 文件,其中包含属于一个标签的时间序列。然后,您可以将它们读入 N 个单独的数据帧,您可以随意使用。
标签: python string csv split partial