教你如何把Python CSV 合并到多个sheet工作表

下面是详细的攻略:

1. 背景介绍

CSV(Comma Separated Values)是一种常见的文件格式,通常用于存储简单的数据表格。CSV文件可以在不同的软件之间轻松转移,并且可以使用Python中的csv模块来快速读取或写入CSV格式的数据。在某些情况下,我们可能需要将多个CSV文件合并到一个Excel文件中,即将多个CSV文件合并到多个sheet工作表中,以提高数据处理的效率和可读性。

2. 如何实现

通过Python的pandas库,我们可以读取CSV文件,同时也可以将DataFrame对象写入Excel文件中的不同工作表。我们可以按照以下步骤来实现将多个CSV文件合并到多个sheet工作表中:

步骤一:导入所需库

import pandas as pd
from openpyxl import Workbook

首先导入所需的库,pandas库用于读取CSV文件和将DataFrame对象写入Excel文件,openpyxl库用于管理Excel文件。

步骤二:读取CSV文件

filename_list = ['file1.csv', 'file2.csv', 'file3.csv']

df_list = [] # 用于存储不同CSV文件的数据

for filename in filename_list:
    df_list.append(pd.read_csv(filename))

我们首先定义要合并的CSV文件的文件名列表,并准备一个空列表df_list来存储每个CSV文件的数据。然后,我们使用for循环遍历每个CSV文件,并将其读取为DataFrame对象,添加到df_list列表中。

步骤三:将数据写入Excel文件中的不同工作表

wb = Workbook() # 创建一个新的Excel文件
for i, df in enumerate(df_list):
    sheet_name = 'Sheet{}'.format(i+1) # 为每个工作表指定一个名称
    writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
    writer.book = wb
    df.to_excel(writer, sheet_name=sheet_name, index=False)
    writer.save()

在这一步,我们创建一个新的Excel文件,并为每个工作表指定一个名称。然后,我们遍历df_list列表中的每个DataFrame对象,使用pd.ExcelWriter()方法打开一个用于写入Excel文件的写入器。在这里,我们将Excel文件的名称指定为output.xlsx,并将其打开为openpyxl引擎。我们使用writer.book = wb将写入器与我们创建的Excel文件相关联。接下来,我们使用df.to_excel()方法将DataFrame对象写入Excel文件中。我们使用sheet_name=sheet_name参数为每个工作表指定名称。最后,我们使用writer.save()方法将工作表数据保存到Excel文件中。

3. 示例说明

实例一:将三个CSV文件合并到三个工作表中

假设我们有三个CSV文件file1.csvfile2.csvfile3.csv,每个文件包含以下数据:

file1.csv:
id,name,age
1,John,20
2,Mike,30

file2.csv:
id,name,age
3,Jane,25
4,Smith,35

file3.csv:
id,name,age
5,Lisa,22
6,Tom,28

下面的代码将这三个CSV文件合并到一个Excel文件中,每个CSV文件的数据写入到一个不同的工作表中。

import pandas as pd
from openpyxl import Workbook

filename_list = ['file1.csv', 'file2.csv', 'file3.csv']

df_list = [] # 用于存储不同CSV文件的数据

for filename in filename_list:
    df_list.append(pd.read_csv(filename))

wb = Workbook() # 创建一个新的Excel文件
for i, df in enumerate(df_list):
    sheet_name = 'Sheet{}'.format(i+1) # 为每个工作表指定一个名称
    writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
    writer.book = wb
    df.to_excel(writer, sheet_name=sheet_name, index=False)
    writer.save()

最终,我们将得到一个名为output.xlsx的Excel文件,其中包含三个工作表Sheet1Sheet2Sheet3,每个工作表包含对应的CSV文件数据。

实例二:将两个CSV文件合并到一个工作表中

现在假设我们有两个CSV文件file4.csvfile5.csv,每个文件包含以下数据:

file4.csv:
id,name,age
1,John,20
2,Mike,30

file2.csv:
id,name,age
3,Jane,25
4,Smith,35
5,Lisa,22
6,Tom,28

下面的代码将这两个CSV文件合并到一个Excel文件中的同一个工作表中。

import pandas as pd
from openpyxl import Workbook

filename_list = ['file4.csv', 'file5.csv']

df = pd.concat([pd.read_csv(filename) for filename in filename_list], ignore_index=True)

wb = Workbook() # 创建一个新的Excel文件
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
writer.book = wb
df.to_excel(writer, sheet_name='Sheet1', index=False)
writer.save()

在这里,我们使用pd.concat()方法将两个CSV文件的数据拼接到一个DataFrame对象中,并使用ignore_index=True参数重建索引。最后,我们将DataFrame对象写入到一个名为output.xlsx的Excel文件的一个名为Sheet1的工作表中。

4. 总结

在本攻略中,我们通过使用Python的pandas库来将多个CSV文件合并到一个Excel文件中的多个工作表中。我们可以根据需要将CSV文件的数据合并到不同的工作表中,以提高数据处理的效率和可读性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你如何把Python CSV 合并到多个sheet工作表 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • python实现将读入的多维list转为一维list的方法

    下面我将为你详细讲解Python中将多维list转为一维list的方法,并提供两个示例说明。 方法一:循环遍历 循环遍历是实现多维list转一维list的最基本方法。具体步骤如下: 定义一个空的一维list result,用于存放所转换得到的结果。 使用for循环,将多维list中的每一个元素取出来,判断其是否还是一个列表。如果是列表,则将该列表中的元素继续…

    python 2023年6月5日
    00
  • 利用Python list列表修改元素

    以下是详细讲解“利用Python list列表修改元素”的完整攻略。 在Python中,列表是一种常用的数据类型,它可以存储多个值支持各种操作。本文将详细讲解如何利用Python list列表修改元素,并提供两个示例说明。 修改元素 list列表中的元素可以通过索引进行修改。例如: lst = [1, 2, 3] lst[1] = 4 print(lst) …

    python 2023年5月13日
    00
  • Python中的循环语句有哪些?

    在Python中,循环语句可以用来重复执行一段代码,它使得编写某些代码变得更为便捷。 Python中的循环语句主要有两种,分别是for循环和while循环。 for循环 for循环可以用来遍历可迭代对象,例如列表、元组、字符串等。基本语法为: for 变量 in 可迭代对象: 代码块 其中,for循环会将可迭代对象中的每个元素依次取出,并将其赋值给指定的变量…

    python 2023年4月19日
    00
  • Python中让MySQL查询结果返回字典类型的方法

    想要让MySQL查询结果返回字典类型,我们需要使用Python中的MySQL数据库连接库,并结合使用字典类型作为查询结果的数据格式。下面我们将通过以下几个步骤来讲解它的具体实现方法: 导入MySQL数据库连接库 我们需要先导入MySQL的数据库连接库,可以使用Python内置的mysql.connector库来完成。 import mysql.connect…

    python 2023年5月13日
    00
  • Python利用matplotlib画出漂亮的分析图表

    下面我将为您详细介绍“Python利用matplotlib画出漂亮的分析图表”的完整攻略,包含以下步骤: 步骤一:导入必要的库 在使用matplotlib库绘制图表前,我们需要导入必要的库。其中,matplotlib主要用于绘制图表,numpy主要是用来产生数据,因此这两个库是必须的,如果需要绘制3D图表,还需要导入mpl_toolkits.mplot3d,…

    python 2023年6月6日
    00
  • 详解Python字典查找性能

    详解Python字典查找性能 概述 Python中的字典是一种非常常用的数据结构,它能快速地将一个键映射到对应的值。但是,在字典中查找一个键的值时,性能并不总是相同的。本文将详细介绍Python字典查找性能的原理和如何进行性能优化。 Python字典的实现原理 Python中的字典实际上是由哈希表(hash table)实现的。哈希表是一种通过哈希函数,将键…

    python 2023年5月13日
    00
  • Python CSV 文件解析和生成方法示例

    以下是关于 Python CSV 文件解析和生成的完整攻略,其中包含了两条示例说明。 CSV 文件简介 CSV(Comma Separated Values)文件是一种通用的数据交换格式,数据以逗号作为分隔符进行存储,每行记录代表一条数据,可以用任何文本编辑器打开并查看。CSV 文件常用于数据导入和导出,并且易于处理。在 Python 中,我们可以使用标准库…

    python 2023年6月3日
    00
  • Python输出\u编码将其转换成中文的实例

    Python输出\u编码将其转换成中文的实例 在Python中,有时我们会遇到输出中文时出现\u编码的情况。本攻略将介绍如何将这些\u编码转换成中文。 示例1:使用encode和decode方法 我们可以使用encode方法将字符串转换成字节串,再使用decode方法将字节串转换成字符串。以下是一个示例代码,用于将含有\u编码的字符串转换成中文: s = ‘…

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部