Каталог является обобщенным, за исключением файла result.csv, который представляет собой объединенный файл всех остальных файлов, созданных конвейерами.
Код: Выделить всё
"{namespace}.{dataset_name}@csv":
type: pandas.CSVDataset
filepath: data/01_raw/{namespace}/{dataset_name}.csv
versioned: True
"{namespace}.result":
type: pandas.CSVDataset
filepath: data/01_raw/{namespace}/result.csv
Код: Выделить всё
def concatenate_csvs(*dataframes):
concatenated_df = pd.concat(dataframes, ignore_index=True)
return concatenated_df
Код: Выделить всё
def create_pipeline(**kwargs):
pipe_the_hacker_news = pipeline(
[
node(
func=get_links,
inputs=["params:the_hacker_news"],
outputs="the_hacker_news_links",
name="the_hacker_news_links_node",
),
node(
func=scraper_the_hacker_news,
inputs="the_hacker_news_links",
outputs="the_hacker_news@csv",
name="the_hacker_news_scraper_node",
)
],
namespace="cybersecurity_news"
)
Код: Выделить всё
pipe_concat = pipeline(
[
node(
func=concatenate_csvs,
inputs=[
"the_hacker_news@csv",
"tech_republic@csv",
"thecyberexpress_news@csv",
"welivesecurity_news@csv",
"davinciforensics_news@csv",
"varutra_news@csv",
"attcybersecurity_news@csv",
"mcafee_news@csv",
"nist_news@csv",
"avast_news@csv",
"amazon_news@csv",
"qualys_news@csv",
"veracode_news@csv",
"gbhackers_news@csv",
"hackingarticles_news@csv",
"sentinelone_news@csv",
"securityintelligence_news@csv",
"tripwire_news@csv",
"securelist_news@csv",
"grahamcluley_news@csv",
"infosecurity_news@csv",
"olukaii_news@csv",
"cyble_news@csv",
"bleepingcomputer_news@csv",
"threatinsight_news@csv",
"zonealarm_news@csv"],
outputs="result",
name="concatenate_csvs_node",
),
],
namespace="cybersecurity_news"
)
Я уже пробовал использовать:< /p>
Код: Выделить всё
save_args:
mode: a
Код: Выделить всё
def concatenate_csvs(*dataframes):
concatenated_df = pd.concat(dataframes, ignore_index=True)
file_path = "/path/cybersecurity_news/result.csv"
existing_df = pd.read_csv(file_path)
concatenated_df = pd.concat([existing_df, concatenated_df], ignore_index=True)
concatenated_df.to_csv(file_path, index=False)
return concatenated_df
Подробнее здесь: https://stackoverflow.com/questions/786 ... placing-it