我有一个.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
开头的行号
答案 0 :(得分:-1)
您可以仅使用read_csv()
来导入和读取文件,如下所示:
df = pd.read_csv('SampleSheet.csv', header=3)
其中标头是您要在数据集开始之前在文件顶部跳过的行数。