下面是详细的Python批量处理工作簿和工作表的实现示例教程。
标题
子标题
这里介绍的是如何使用Python实现批量处理工作簿和工作表。下面的示例说明可以帮助你更好地理解并掌握这个过程。
示例一
这个示例演示了如何使用Python批量读取一个文件夹中的所有Excel工作簿,并以CSV格式将每个工作表保存在一个单独文件中。
import os
import pandas as pd
input_folder = "path/to/input/folder"
output_folder = "path/to/output/folder"
for filename in os.listdir(input_folder):
if filename.endswith(".xlsx") or filename.endswith(".xls"):
# read excel workbook
wb = pd.read_excel(os.path.join(input_folder, filename), sheet_name=None)
# save each sheet as a separate csv file
for sheet_name, df in wb.items():
output_file = os.path.join(output_folder, f"{filename}_{sheet_name}.csv")
df.to_csv(output_file, index=False, encoding="utf-8-sig")
这个示例使用pandas库的read_excel函数来读取Excel工作簿,使用sheet_name设置参数为None,表示读取所有工作表。然后我们遍历每个工作表并将其保存为单独的CSV文件。需要注意的是,我们使用了一个utf-8-sig编码来确保文件以UTF-8格式保存,这是因为Excel的默认编码与UTF-8不兼容。
示例二
这个示例演示了如何使用Python批量合并Excel工作簿中的所有工作表,将它们放入一个单独的工作簿中并保存到磁盘。
import os
import pandas as pd
input_folder = "path/to/input/folder"
output_file = "path/to/output/file.xlsx"
all_data = pd.DataFrame()
for filename in os.listdir(input_folder):
if filename.endswith(".xlsx") or filename.endswith(".xls"):
# read excel workbook
wb = pd.read_excel(os.path.join(input_folder, filename), sheet_name=None)
# merge all sheets into one dataframe
df = pd.concat([df for df in wb.values()])
all_data = all_data.append(df, ignore_index=True)
# write merged data to output file
all_data.to_excel(output_file, index=False)
这个示例使用了同样的方法来读取所有Excel工作簿,并将所有工作表合并为一个大的数据帧。最后,我们将合并后的数据帧保存到一个新的Excel工作簿中。
以上就是Python批量处理工作簿和工作表的实现示例教程。希望这些示例能够帮助你更好地掌握如何使用Python处理Excel文件。