【发布时间】:2022-08-13 23:22:59
【问题描述】:
我对我正在尝试组合的简短 python 脚本遇到的问题感到非常困惑。我正在尝试遍历数据框,将行附加到新的数据框,直到遇到某个值。
import pandas as pd
#this function will take a raw AGS file (saved as a CSV) and convert to a
#dataframe.
#it will take the AGS CSV and print the top 5 header lines
def AGS_raw(file_loc):
raw_df = pd.read_csv(file_loc)
#print(raw_df.head())
return raw_df
import_df = AGS_raw(\'test.csv\')
def AGS_snip(raw_df):
for i in raw_df.iterrows():
df_new_row = pd.DataFrame(i)
cut_df = pd.DataFrame(raw_df)
if \"**PROJ\" == True:
cut_df = cut_df.concat([cut_df,df_new_row],ignore_index=True, sort=False)
elif \"**ABBR\" == True:
break
print(raw_df)
return cut_df
我不需要详细说明,但此数据中的值(**PROJ 和 **ABBR)作为表格顶部的单个单元格出现。所以我想逐行循环数据,追加行直到遇到 **ABBR。
当我打电话给AGS_snip(import_df) 时,什么也没有发生。以前的化身只是吐出了整个 df,我只是对循环的逻辑感到困惑。非常感谢任何帮助。
编辑:CSV 的原始文本
**PROJ,
1,32
1,76
32,56
,
**ABBR,
1,32
1,76
32,56
测试 CSV 如下所示:
-
我假设您想为 AGS CSV 文件中的每个表获取一个数据框?您可以发布一些 CSV 文件的原始文本,以及您要为其提取数据帧的所有表头吗?