选择非结构化csv中包含日期的所有行

时间:2015-11-04 20:30:00

标签: python r csv

所以我有Google趋势查询的输出。它在一张纸上包含几个表。表格的第一部分如下:

Web Search interest: nespresso  
United States; date_range:(today 90-d)  

Interest over time  
Day nespresso
8/7/2015    70
8/8/2015    82
8/9/2015    91
8/10/2015   84

所以这就是我想要做的。忽略前几行并选择带日期的任何行。 (每周数据来自日期为8/7 / 2015-8 / 14/2015)。当然,read.csv中有nrow和skip,但我想知道是否有系统的方法来做到这一点。

另外,请注意,Google趋势数据包含日期之后的数据。

11/3/2015    
11/4/2015    


Top subregions for nes  
Subregion   nes
New York    100
Massachusetts   83

寻找Python或R解决方案

1 个答案:

答案 0 :(得分:1)

考虑这个Python解决方案,以读取原始csv并将第一列转换为日期。 geoip用于跳过未正确转换为日期格式的行。

Try/Except

输出 (数据列表)

import csv
from datetime import datetime

with open('Unstructured.csv', 'rt') as csvfile:
    csvReader = csv.reader(csvfile)
    data = []

    for row in csvReader:
        try:
            data.append([datetime.strptime(row[0], "%m/%d/%Y").strftime("%Y-%m-%d"), row[1]])
        except ValueError:
            continue

    for i in data:
        print(i)