Чтение вертикально расположенных данных из файла .csv с использованием pandas - PullRequest
2 голосов
/ 20 июня 2020

У меня есть .csv, который выглядит как изображение ниже:

Table representation

Я хочу создать 4 фрейма данных, которые я сейчас создаю, используя .ilo c

import pandas as pd
enter code here
file_path='/file/path/name.csv'
df_main=pd.read_csv(file_path)
enter code here
df_global=df_main.iloc[:3,:]
df_mkt_a=df_main.iloc[6:9,:]
df_mkt_b=df_main.iloc[12:15,:]
df_mkt_c=df_main.iloc[18:21,:]

Но это может привести к проблемам при добавлении / удалении строки и является довольно негибким.

Что может быть более pythoni c способ чтения таких данных ?

1 Ответ

0 голосов
/ 20 июня 2020

Это генерирует список фреймов данных, используя тот факт, что пустые строки между патчами данных в вашем файле будут оцениваться как nan

df = pd.read_csv('test.csv', header =None)

# split at rows that have all nan entries
splits = [0] + [ix for ix in df[df.isnull().all(axis=1)].index] + [len(df)]
dfs = [df[splits[i]:splits[i+1]] for i in range(len(splits)-1)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...