默宁爸爸 发表于 2023-12-6 18:45:05

Python+Excel自动化办公:A表格首行数据怎样插入文件夹B下面所有EXCEl表格中

Python+Excel自动化办公:A表格首行数据插入文件夹B下面所有EXCEl表格中的第二行并单独输出

FishC_GPT 发表于 2023-12-6 18:45:46

要实现将A表格首行数据插入文件夹B下所有Excel表格中的操作,可以使用Python的openpyxl库来读取和写入Excel文件。

首先,我们需要获取B文件夹下的所有Excel文件路径。可以使用os模块来实现:

import os

folder_path = 'B文件夹路径'
excel_files = []

for file_name in os.listdir(folder_path):
    if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
      file_path = os.path.join(folder_path, file_name)
      excel_files.append(file_path)

然后,我们需要读取A表格的首行数据,然后将该数据插入到每个Excel表格中的第二行。可以使用openpyxl库来实现:

from openpyxl import load_workbook

# 读取A表格的首行数据
a_file_path = 'A表格路径'
a_workbook = load_workbook(a_file_path)
a_sheet = a_workbook.active
data_to_insert = ]

# 遍历B文件夹下的所有Excel表格
for file_path in excel_files:
    workbook = load_workbook(file_path)
    sheet = workbook.active

    # 插入A表格首行数据到第二行
    sheet.insert_rows(2)
    for col, value in enumerate(data_to_insert, start=1):
      sheet.cell(row=2, column=col).value = value

    # 保存修改后的Excel
    workbook.save(file_path)

最后,如果你想单独输出插入的数据,可以在循环内部打印出来:

for file_path in excel_files:
    workbook = load_workbook(file_path)
    sheet = workbook.active

    # 插入A表格首行数据到第二行
    sheet.insert_rows(2)
    for col, value in enumerate(data_to_insert, start=1):
      sheet.cell(row=2, column=col).value = value

    # 输出插入的数据
    print(f"插入的数据为:{', '.join(str(cell.value) for cell in sheet)}")

    # 保存修改后的Excel
    workbook.save(file_path)

这样就可以实现将A表格首行数据插入B文件夹下所有Excel表格中,并单独输出插入的数据。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

默宁爸爸 发表于 2023-12-6 18:48:18

A表格首行数据插入文件夹B下面所有EXCEl表格中的第二行并独立保存

FishC_GPT 发表于 2023-12-6 18:48:58

默宁爸爸 发表于 2023-12-06 18:48
A表格首行数据插入文件夹B下面所有EXCEl表格中的第二 ...

要将A表格首行数据插入文件夹B下所有Excel表格中的第二行并独立保存,可以使用Python的openpyxl库来操作Excel文件。首先,我们需要获取B文件夹下的所有Excel文件路径。可以使用os模块来实现:

import os

folder_path = 'B文件夹路径'
excel_files = []

for file_name in os.listdir(folder_path):
    if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
      file_path = os.path.join(folder_path, file_name)
      excel_files.append(file_path)

然后,我们需要读取A表格的首行数据,然后将该数据插入到每个Excel表格中的第二行。可以使用openpyxl库来实现:

from openpyxl import load_workbook

# 读取A表格的首行数据
a_file_path = 'A表格路径'
a_workbook = load_workbook(a_file_path)
a_sheet = a_workbook.active
data_to_insert = ]

# 遍历B文件夹下的所有Excel表格
for file_path in excel_files:
    workbook = load_workbook(file_path)
    sheet = workbook.active
   
    # 插入A表格首行数据到第二行
    sheet.insert_rows(2)
    for col, value in enumerate(data_to_insert, start=1):
      sheet.cell(row=2, column=col).value = value
   
    # 保存修改后的Excel到新的文件
    new_file_path = file_path.replace('.xlsx', '_new.xlsx')
    workbook.save(new_file_path)

这样就可以将A表格首行数据插入到B文件夹下所有的Excel表格中的第二行,并将修改后的Excel另存为新的文件。每个Excel表格都会被单独保存,文件名会加上"_new"后缀。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: Python+Excel自动化办公:A表格首行数据怎样插入文件夹B下面所有EXCEl表格中