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

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

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) # нужно чтобы из некой папки мы взли все csv файлы и провели над ними операции
 
for f in files:
    a = pd.read_csv(f, index_col='Date', encoding='latin1')
    a['total'] = a['Open'] + a['Close'] # прибавляем однин столбец данных к другому и получаем total
    a.loc[a.index.weekday == 0, 'total'] # выбираем только те строки, в которых были Понедельники (0) по датам
    a = a.sort('total') # сортировка данных в столбце от меньшего к большему
 
    new_fn ='{0[0]}_total{0[1]}'.format(os.path.splitext(f))
    a.to_csv(new_fn) # сохраняем в файл csv два столбца - Date и _total

Пример csv

Date,Open,High,Low,Close,Volume,Adj Close
2016-01-04,102.610001,105.370003,102.0,105.349998,67649400.0,102.612183
2016-01-05,105.75,105.849998,102.410004,102.709999,55791000.0,100.04079200000001
2016-01-06,100.559998,102.370003,99.870003,100.699997,68457400.0,98.083025
2016-01-07,98.68,100.129997,96.43,96.449997,81094400.0,93.943473
2016-01-08,98.550003,99.110001,96.760002,96.959999,70798000.0,94.44022199999999
2016-01-11,98.970001,99.059998,97.339996,98.529999,49739400.0,95.96942
2016-01-12,100.550003,100.690002,98.839996,99.959999,49154200.0,97.362258
2016-01-13,100.32,101.190002,97.300003,97.389999,62439600.0,94.859047
2016-01-14,97.959999,100.480003,95.739998,99.519997,63170100.0,96.93369
2016-01-15,96.199997,97.709999,95.360001,97.129997,79010000.0,94.605802
2016-01-19,98.410004,98.650002,95.5,96.660004,53087700.0,94.148022
2016-01-20,95.099998,98.190002,93.41999799999999,96.790001,72334400.0,94.274641
2016-01-21,97.059998,97.879997,94.940002,96.300003,52161500.0,93.797377
2016-01-22,98.629997,101.459999,98.370003,101.41999799999999,65800500.0,98.784315
2016-01-25,101.519997,101.529999,99.209999,99.440002,51794500.0,96.855775
2016-01-26,99.93,100.879997,98.07,99.989998,75077000.0,97.39147700000001
2016-01-27,96.040001,96.629997,93.339996,93.41999799999999,133369700.0,90.99221800000001
2016-01-28,93.790001,94.519997,92.389999,94.089996,55678800.0,91.64480400000001


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