簡體   English   中英

Python Pandas:跳過閱讀標題行但保留它並在寫入時將其添加回來

[英]Python Pandas: Skip reading header row but keep it and add it back when writing

這是我的函數,用於逐塊讀取巨大的 CSV 文件並以相同的方式將其寫回塊。

我想做的是:

跳過閱讀作為標題行的第一行,但保留它並稍后將其添加為標題或標題行。 我在 stack-overflow 上看到了一段代碼,它可能提取了標題,但在使用 to_sql 寫入數據時我不知道如何將其添加回來

def csv_to_sqlite(input_file_name, output_db, output_db_table_name, size_of_chunk):
    number_of_lines = sum(1 for row in (open(input_file_name)))

    for eachRow in range(0, number_of_lines, size_of_chunk):

        df = pd.read_csv(input_file_name,
                         header=None,
                         nrows=size_of_chunk,
                         skiprows=eachRow,
                         low_memory=False,
                         error_bad_lines=False)

        # new_header = df.iloc[0]
        # df = df[1:]
        # df.columns = new_header

        df = df.drop_duplicates(keep='last')
        df = df.apply(lambda x: x.astype(str).str.lower())

        df.to_sql(output_db_table_name, output_db, if_exists='append',
                  index=False,
                  chunksize=size_of_chunk)

無需重新發明輪子 - 使用'chunksize' 參數

for df in pd.read_csv(filename, ..., chunksize=size_of_chunk):
    #process chunk here

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM