53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
|
import pandas as pd
|
||
|
from openpyxl import load_workbook
|
||
|
|
||
|
# 新的数据
|
||
|
new_data = {
|
||
|
'名字': ['朱文宝', '朱文先'],
|
||
|
'性别': ['男', '女'],
|
||
|
'年龄': [21, 20],
|
||
|
'爱好': ['篮球','足球']
|
||
|
}
|
||
|
|
||
|
# 创建 DataFrame
|
||
|
new_df = pd.DataFrame(new_data)
|
||
|
|
||
|
# 指定要保存的文件路径
|
||
|
output_file_path = r'C:\Users\andin\Desktop\zhuwenbao.xlsx'
|
||
|
|
||
|
# 读取现有 Excel 文件
|
||
|
try:
|
||
|
workbook = load_workbook(output_file_path)
|
||
|
except FileNotFoundError:
|
||
|
workbook = None
|
||
|
|
||
|
# 合并新旧数据
|
||
|
if workbook is not None:
|
||
|
try:
|
||
|
worksheet = workbook.active # 获取活动工作表
|
||
|
last_row = worksheet.max_row # 获取最后一行的行号
|
||
|
|
||
|
# 检查工作表是否为空
|
||
|
if last_row == 1 and worksheet.max_column == 1:
|
||
|
# 写入列名
|
||
|
for col_num, col_name in enumerate(new_df.columns, start=1):
|
||
|
cell = worksheet.cell(row=1, column=col_num)
|
||
|
cell.value = col_name
|
||
|
|
||
|
# 追加新数据
|
||
|
start_row = last_row + 1
|
||
|
for index, row in new_df.iterrows():
|
||
|
for col_num, col_name in enumerate(new_df.columns, start=1):
|
||
|
cell = worksheet.cell(row=start_row + index, column=col_num)
|
||
|
cell.value = row[col_name]
|
||
|
|
||
|
except Exception as e:
|
||
|
print(f"追加数据时发生错误: {e}")
|
||
|
else:
|
||
|
# 如果文件不存在,则创建一个新的工作簿和工作表,并写入列名和数据
|
||
|
with pd.ExcelWriter(output_file_path, engine='openpyxl') as writer:
|
||
|
new_df.to_excel(writer, sheet_name='Sheet1', index=False)
|
||
|
|
||
|
# 保存工作簿
|
||
|
workbook.save(output_file_path)
|
||
|
print(f"数据已成功追加到 {output_file_path}")
|