在开始之前,确保你的 Python 环境中已经安装了openpyxl和pandas库。可以使用以下命令进行安装:
我们首先编写一个函数keep_first_two_rows,用于保留指定工作表的表头和第一行数据,其余数据将被删除。
解释:
-
load_workbook(filepath):加载指定路径的 Excel 文件。
-
wb[sheetname]:获取指定名称的工作表。
-
ws.delete_rows(3, ws.max_row):从第三行开始删除所有后续行,只保留前两行。
-
wb.save(filepath):保存对 Excel 文件的修改。
接下来,我们编写一个函数append_data_from_csv,用于将 CSV 文件中的数据追加到指定工作表的末尾。
解释:
-
pd.read_csv(csv_filepath):使用pandas从指定路径读取CSV文件中的数据。
-
wb[sheetname]:获取指定名称的工作表。
-
enumerate(new_data.values, ws.max_row + 1):从工作表的最后一行开始,逐行追加CSV数据。
-
ws.cell(row=r_idx, column=c_idx, value=value):将CSV文件中的每个值插入到Excel工作表的对应单元格中。
-
wb.save(filepath):保存对Excel文件的修改。
最后,我们编写主程序,调用以上两个函数,完成具体操作。
解释:
-
excel_file_path:指定Excel文件的路径。
-
sheet_name:指定工作表名称。
-
csv_file_path:指定CSV文件的路径。
-
keep_first_two_rows(excel_file_path, sheet_name):调用函数保留表头和第一行数据。
-
append_data_from_csv(excel_file_path, sheet_name, csv_file_path):调用函数从CSV文件中追加新数据到指定工作表。
完整代码