簡體   English   中英

選擇非結構化csv中具有日期的所有行

[英]Selecting all rows with dates in a unstructured 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中可以跳過,但是我想知道是否有系統的方法可以做到這一點。

另外,請記住,來自Google趨勢的數據包括日期之后的數據。

11/3/2015    
11/4/2015    


Top subregions for nes  
Subregion   nes
New York    100
Massachusetts   83

尋找Python或R解決方案

考慮使用此Python解決方案讀取原始csv並將第一列轉換為日期。 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)

輸出 (數據列表)

['2015-08-07', '70']
['2015-08-08', '82']
['2015-08-09', '91']
['2015-08-10', '84']
['2015-11-03', '']
['2015-11-05', '']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM