Как правильно использовать «read_csv», когда заголовки находятся в разных строках CSV [закрыто]Python

Программы на Python
Ответить
Anonymous
 Как правильно использовать «read_csv», когда заголовки находятся в разных строках CSV [закрыто]

Сообщение Anonymous »

У меня есть CSV-файл, который (отформатирован) выглядит так:

< thead>

Цена
Коррекция закрытия
Закрытие
Высокий
Низкий
Открыть
Объем



< tr>
Тикер
^BVSP
^BVSP
^BVSP< /td>
^BVSP
^BVSP
^BVSP


Дата




< td>



2014-01-02
50341.0
50341.0
< td>51656.0
50246.0
51522.0
3476300


03.01.2014
50981.0< /td>
50981.0
50981.0
50269.0
50348.0
7360400


06.01.2014< /td>
50974.0
50974.0
51002.0
50451.0
50980.0
3727800

07.01.2014
50430.0
50430.0
51478.0
50429.0
50982.0
3339500



Необработанный файл .csv выглядит следующим образом:

Код: Выделить всё

Price,Adj Close,Close,High,Low,Open,Volume
Ticker,^BVSP,^BVSP,^BVSP,^BVSP,^BVSP,^BVSP
Date,,,,,,,
2014-01-02,50341.0,50341.0,51656.0,50246.0,51522.0,3476300
2014-01-03,50981.0,50981.0,50981.0,50269.0,50348.0,7360400
2014-01-06,50974.0,50974.0,51002.0,50451.0,50980.0,3727800
2014-01-07,50430.0,50430.0,51478.0,50429.0,50982.0,3339500
После прочтения я хочу, чтобы df выглядел так:



Дата
Настройка Закрыть
Закрыть
Высокий
Низкий
Открыть
Объем



< tr>
2014-01-02
50341.0
50341.0
51656.0
50246.0
51522.0
3476300

03.01.2014
50981.0
50981.0
50981.0
50269.0
50348.0
7360400


06.01.2014
50974.0
50974.0
51002.0
50451.0
50980.0
3727800


07.01.2014
50430.0
50430.0
51478.0
50429.0
50982.0
3339500



Я использую этот код, он работает, но кажется неуклюжим.

Код: Выделить всё

idx_df = pd.read_csv(
f'{data_folder}/INDEX_{idx_code}.csv',
header=None,
skiprows=3,  #  data starts on row 4
names=['Date', 'Adj Close', 'Close', 'High', 'Low', 'Open', 'Volume'],
index_col='Date'
)
idx_df.index = pd.to_datetime(idx_df.index, errors='coerce')
Мои вопросы:
  • Есть ли более простой/элегантный
    способ, возможно, с использованием одной строки код и используя параметр «заголовок», даже если «Дата» находится в позиции (2, 0), а остальные — в позиции (0, 1:6)?
  • Есть ли способ установить индекс как дату и время в инструкции «read_csv», избегая строку "idx_df.index="?


Подробнее здесь: https://stackoverflow.com/questions/792 ... nes-of-csv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»