0
0 комментариев

Открываем все лежащие в папке csv файлы. Затем суммируем два столбца в каждом файле. Отбираем только один день недели по всем датам (например Понедельники). После этого, нужно ввести еще отбор по некоему условию, например по столбцу Time и отсеять значения скажем по «1500». То есть отсортировали Понедельники, потом по 1500, а оставшийся результат сохранили в файл csv.

Собственно не хватает строки, по которой можно отобрать значения в Time.

import os
import glob
import pandas as pd
import pandas_datareader.data as wb
a = r'C:/Users/II/Downloads/*.csv' # открытие файла (выдает ошибку)
files = glob.glob(a)
for f in files:
    a = pd.read_csv(f, index_col='Date', encoding='latin1', parse_dates=['Date'])
    a['total'] = a['Open'] + a['Close'] # прибавляем однин столбец данных к другому и получаем total
    a = a.loc[a.index.weekday == 0, ['total']].sort_values('total') # если сортировку делать не надо, убираем sort_values('total')
    new_fn ='{0[0]}_total{0[1]}'.format(os.path.splitext(f))
    a.to_csv(new_fn)

[/apcode]

Пример данных:

Date,Time,Open,High,Low,Close,Volume,Adj Close
2016-01-04,1400,102.610001,105.370003,102.0,105.349998,67649400.0,102.612183
2016-01-04,1500,105.75,105.849998,102.410004,102.709999,55791000.0,100.04079200000001
2016-01-04,1600,100.559998,102.370003,99.870003,100.699997,68457400.0,98.083025
2016-01-04,1700,98.68,100.129997,96.43,96.449997,81094400.0,93.943473
2016-01-04,1800,98.550003,99.110001,96.760002,96.959999,70798000.0,94.44022199999999
2016-01-04,1900,98.970001,99.059998,97.339996,98.529999,49739400.0,95.96942
2016-01-04,2000,100.550003,100.690002,98.839996,99.959999,49154200.0,97.362258

[/apcode]


Добавить комментарий