我有多个csv文件,其名称如下:
'Transfer stab [22(3) _350-300-G22_; 24_04_2019 10_05_43].csv '
'Transfer lin [350-300-10-10(1) _good_; 02_05_2019 14_39_57].csv'
每个文件都包含我要提取的元数据和一些数据值:
A B C
Metadata TestRecord.RecordTime 05/02/2019 15:31:34
Metadata TestRecord.TestTarget 350-300-2-2
MetaData TestRecord.Remarks bad
DataName VG VD
DataValue -2 3
DataValue -1.9500000000000002 3
...
...
我想提取每个文件(例如(350-300-G22))的唯一ID 的名称,但是有时它们存储在 TestRecord.Remarks 中在 TestRecord.TestTarget 中。
此外,唯一ID可以附加一个注释,例如:“ 250-300-G23-60sec不亮”
我为所有csv文件创建了一个带有备注和目标列的数据框。
date filename remarks target
04/24/2019 Transfer stab [22(3) _350-300-G22_; 24_04_2019 10_05_43].csv 350-300-G22 22
05/02/2019 Transfer lin [350-300-10-10(1) _good_; 02_05_2019 14_39_57].csv good 350-300-10-10
04/24/2019 Transfer stab [25(3) _350-300-G25_; 24_04_2019 14_58_14].csv 350-300-G25 25
04/23/2019 Transfer sat [(5) _250-300-G23-60sec no light_; 23_04_2019 11_26_55].csv 250-300-G23-60sec no light None
04/23/2019 Transfer stab [(3) _250-300-G26_; 23_04_2019 12_02_37].csv 250-300-G26 None
我现在想用唯一的ID值创建一个新列。我正在考虑通过遮罩检查“-”字符并提取其周围所有内容的东西。
或以字符串形式查找以下格式('nnn-nnn-lnn'),其中n =数字,l =字母。
理想情况下,最终结果将是一个函数,该函数将按照我可以添加以覆盖所有极端情况的一组规则进行过滤。