Python: необходимо создать новый столбец при объединении нескольких файлов CSV - PullRequest
0 голосов
/ 17 марта 2020

спасибо за помощь заранее. вопрос из нескольких частей

У меня есть zip-файлы с информацией о ценах на акции. текущий формат строки заголовка:

ticker,date,open,high,low,close,vol

и пример первой строки

AAPL,201906030900,176.32,176.32,176.24,176.29,2247

желаемый формат:

заголовок

ticker,date,time,open,high,low,close,vol

и данные

AAPL,20190603,09:00,176.32,176.32,176.24,176.29,2247

, где добавляется столбец времени и столбец заполняется последними 4 цифрами из строки даты с двоеточием в середине и последними 4 цифры удалены из столбца данных даты.

там около 400 строк данных для каждого запаса в каждом файле, так что каждую строку нужно будет преобразовать.

я не смог найти ответ здесь или в другом месте в Интернете, чтобы я мог понять, как выполнить sh то, что я пытаюсь сделать.

1 Ответ

0 голосов
/ 18 марта 2020

Попробуйте следующее, используя pandas:
data.csv

ticker,date,open,high,low,close,vol
AAPL,201906030900,176.32,176.32,176.24,176.29,2247
ABCD,202002211000,220.97,217.38,221.43,219.82,8544

код

import pandas as pd

df = pd.read_csv('data.csv')

# print(df)

df['time'] = df['date'].apply(lambda x: f'{str(x)[-4:-2]}:{str(x)[-2:]}')
df['date'] = df['date'].apply(lambda x: str(x)[:-4])

cols = df.columns.to_list()
cols = cols[:2] + cols[-1:] + cols[2:-1]

df = df[cols]

# print(df)

df.to_csv('out.csv', index=False)

output.csv

ticker,date,time,open,high,low,close,vol
AAPL,20190603,09:00,176.32,176.32,176.24,176.29,2247
ABCD,20200221,10:00,220.97,217.38,221.43,219.82,8544

You может использовать один и тот же код для l oop для нескольких файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...