У меня есть файл .csv, который я хочу открыть и в конечном итоге сохранить его как кадр данных pandas. Этот файл имеет некоторый ненужный текст над фреймом данных как таковым, чей заголовок начинается со строки Sample_ID
. Я написал код, который выполняет эту работу в несколько шагов, и теперь мне интересно, есть ли более элегантный способ сделать это. Вот мой код
import pandas as pd
import re
from io import StringIO
with open('SampleSheet.csv') as f:
## read in the .csv file as a string
step1 = f.read()
## subset the step1 file
# define where my df should start
start = 'Sample_ID'
step2 = step1[step1.index(start):]
## read in step2 as a pandas dataframe with stringio
step3 = pd.read_csv(StringIO(step2))
Мне было интересно, есть ли способ нарезать напрямую с помощью f.read()
, чтобы у меня уже было на один шаг меньше.
Я также пытался использовать pd.read_csv()
с skiprows
, но мне трудно присвоить номер строки, который начинается с Sample_ID