如何在具有特定刺痛的行之后使用熊猫的read_csv在 Python 中读取 csv?



我有几个文件,我想在一行有特定文本后开始导入csv。行数不是固定的,但该行中的文本是。

例如,一个文件可以具有50行;数据从这里开始";然后是csv。另一个可以具有120行;数据从这里开始";。因此不能使用row_number参数。

这样的东西应该可以工作。您需要遍历(的副本(文件,找到skiprows的正确值,然后使用它。

import pandas as pd
from io import StringIO
import copy
fake_file = """



data starts here
col1,col2,col3,col4
1,2,3,4
5,6,7,8
9,10,11,12"""

def read_csv_after_line(file,str_to_find):
iter_file = copy.copy(file)
for i,line in enumerate(iter_file):
if str_to_find.lower() in line.lower():
print(i,line)
return pd.read_csv(file,skiprows=i+1)
read_csv_after_line(StringIO(fake_file),'data starts here')

相关内容

  • 没有找到相关文章

最新更新