我在csv文件中有一些溫度數據,我只想提取一年中第一個月的溫度,所以在處理後我想要一個[1.4, -5.8]
的列表下面。從匹配的正則表達式中提取數字數據
1866-01-01 00:00:01;1866-02-01 00:00:00;1866-01;1.4;G
1866-02-01 00:00:01;1866-03-01 00:00:00;1866-02;-3.0;G
1900-01-01 00:00:01;1900-01-01 00:00:00;1900-01;-5.8;G
我想到用python模塊重做這個,但我總是遇到問題,以處理正則表達式!比如我的快速測試,下面所有的回報時,我只希望它從去年的第一個月返回條目線...
import numpy as np
import re
regex = '\d{4}-01-\d{2}\s\d{2}:\d{2}:\d{2};\d{4}-01-\d{2}\s\d{2}:\d{2}:\d{2};\d{4}-01;[-+]?\d*\.\d+|\d+;G'
with open('test.csv', 'rb') as fid:
for line in fid:
match = re.findall(regex,line)
if match:
print line
print match
我建議使用CSV解析器。無論如何,你的正則表達式無法處理引用,而且它很醜陋。 – Robert
我會認爲正則表達式可以輕鬆應對這種情況嗎?無論如何,你如何使用csv解析器來做到這一點? – Jack