如何在Python中使用Pandas.ExcelWriter方法

Pandas.ExcelWriter()是用于将DataFrame对象写入Excel工作表的类。 ExcelWriter()可用于编写文本,数字,字符串,公式。它也可以在多个工作表上工作。 Python Pandas是一个数据分析库。它可以读取,过滤和重新排列大小数据集,并以多种格式输出它们,包括Excel。 ExcelWriter()在Pandas库下定义。

对于此示例,您已在计算机上安装了Numpy和Pandas库。

句法

pandas.ExcelWriter(path, engine= None, date_format=None, datetime_format=None, mode=’w’,**engine_krawgs)

参量

所有参数均设置为默认值。

Pandas.ExcelWriter()函数具有五个参数。

  1. path:字符串类型,表示xls或xlsx文件的路径。
  2. 引擎:它也是字符串类型,并且是完全可选的。它是用于编写的引擎。
  3. date_format:它也是字符串类型,默认值为None。它格式化写入Excel文件的日期的字符串。
  4. datetime_format:它也是字符串类型,默认值为None。它格式化写入Excel文件的日期时间对象的字符串。
  5. 模式:写入或附加是文件使用的模式。它的默认值为write,即“ w”。

返回值

它将数据导出到Excel文件中。

熊市猫ExcelWriter()上的示例程序

您必须安装和导入xlsxwriter模块。如果您正在运行Jupyter笔记本,则不需要它。否则,您必须安装它。您可以在此处找到安装指南。

编写一个程序来展示ExcelWriter()在Python中的工作方式。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)

# Writing the data into the excel sheet
writer_obj = pd.ExcelWriter('Write.xlsx',
                            engine="xlsxwriter")

df.to_excel(writer_obj, sheet_name="Sheet")

writer_obj.save()
print('Please check out the Write.xlsx file.')

输出量

Please check out the Write.xlsx file.

excel文件的内容如下。

熊市猫ExcelWriter()

在上面的代码中,我们创建了一个DataFrame来存储学生的数据。然后,我们创建了一个writer对象,以将DataFrame的数据写入excel工作表中,并将数据写入工作表后,我们保存了工作表。上面的excel工作表中的某些值为空,因为在DataFrame中,这些值为np.nan。要检查DataFrame的数据,请检查Excel工作表。

熊市猫DataFrame to_excel()

Pandas DataFrame to_excel()函数将一个对象写入Excel工作表。在上面的示例中,我们使用了to_excel()函数,因为ExcelWriter()方法返回writer对象,然后我们使用DataFrame.to_excel()方法将其导出到Excel文件中。

要将单个对象写入Excel .xlsx文件,仅需要指定目标文件名。要写入多张图纸,需要使用目标文件名创建ExcelWriter对象,并在文件中指定要写入的图纸。

通过指定唯一的sheet_name可以写入多张纸。将所有数据写入文件后,有必要保存更改。请注意,使用文件名已经存在创建ExcelWriter对象将导致现有文件的内容被删除。

我们也可以使用Python with语句编写上述示例。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)

with pd.ExcelWriter('WriteWith.xlsx', engine="xlsxwriter") as writer:
    df.to_excel(writer, sheet_name="Sheet")

print('Please check out the WriteWith.xlsx file.')

输出量

Please check out the WriteWith.xlsx file.

您可以检出WriteWith.xlsx文件并查看其内容。它将与Write.xlsx文件相同。

将多个DataFrame写入多个工作表。

在上面的示例中,我们仅看到单个DataFrame的单个工作表。我们可以使用Pandas.ExcelWriter用多个工作表编写多个框架。

让我们写一个示例,在该示例中,我们将创建三个DataFrame,并将这些DataFrame保存在具有三个不同工作表的multisheet.xlsx文件中。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

data_set2 = {
    'Name': ['Ankit', 'Krunal', 'Rushabh', 'Dhaval', 'Nehal'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

data_set3 = {
    'Name': ['Millie', 'Jane', 'Michael', 'Bobby', 'Brown'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)
df2 = pd.DataFrame(data_set2)
df3 = pd.DataFrame(data_set3)

with pd.ExcelWriter('multiplesheet.xlsx', engine="xlsxwriter") as writer:
    df.to_excel(writer, sheet_name="Sheet")
    df2.to_excel(writer, sheet_name="Sheet2")
    df3.to_excel(writer, sheet_name="Sheet3")

print('Please check out the multiplesheet.xlsx file.')

输出量

将多个DataFrame写入多个工作表

您可以看到有三张纸,每张纸都有不同的“名称”列。

to_excel()函数接受sheet_name作为参数,在这里我们可以传递三个不同的工作表名称,并且DataFrame保存在各个工作表中。

结论

如果要将Pandas DataFrame导出到Excel文件,则只需要ExcelWriter()类。 ExcelWrite()类提供writer对象,然后我们可以使用to_excel()函数将DataFrame导出到Excel文件。 Pandas.ExcelWriter类就是这样。

也可以看看

如何在熊市猫中加载CSV文件

熊市猫to_json()

熊市猫DataFrame转CSV

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Ankit Lathiya所有,未经许可,不得转载
你可能还喜欢