[英]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.