Python pandas 写入 Excel 文件:直接写入与接续写入

作者:搬砖的石头2024.01.17 20:44浏览量:84

简介:本文将介绍如何使用 Python pandas 库将数据直接写入 Excel 文件,以及如何接续写入已存在的 Excel 文件。

在 Python 中,pandas 是一个强大的数据处理库,它提供了很多方便的方法来读写 Excel 文件。下面我们将介绍两种写入 Excel 文件的方法:直接写入和接续写入。
1. 直接写入 Excel 文件
首先,我们需要安装 pandas 和 openpyxl(一个用于读写 Excel 文件的库)。如果你还没有安装,可以使用以下命令进行安装:

  1. pip install pandas openpyxl

接下来,我们可以使用 pandas 的 to_excel 方法将数据直接写入 Excel 文件。以下是一个简单的示例:

  1. import pandas as pd
  2. # 创建一个简单的 DataFrame
  3. data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
  4. df = pd.DataFrame(data)
  5. # 将 DataFrame 写入 Excel 文件
  6. df.to_excel('output.xlsx', index=False)

在上面的代码中,我们首先创建了一个简单的 DataFrame,然后使用 to_excel 方法将其写入名为 output.xlsx 的 Excel 文件中。index=False 表示我们不想将索引写入文件中。
2. 接续写入已存在的 Excel 文件
如果你想在一个已存在的 Excel 文件的末尾接续写入数据,可以使用 openpyxl 库。首先,你需要读取原有的 Excel 文件,然后在 DataFrame 的末尾添加你的数据,最后将整个 DataFrame 写回到 Excel 文件中。以下是一个示例:

  1. import pandas as pd
  2. from openpyxl import load_workbook
  3. # 读取原有的 Excel 文件
  4. book = load_workbook('input.xlsx')
  5. writer = pd.ExcelWriter('input.xlsx', engine='openpyxl')
  6. writer.book = book
  7. # 在原有的 DataFrame 末尾添加数据
  8. data = {'Name': ['David', 'Eve'], 'Age': [20, 22]}
  9. df = pd.DataFrame(data)
  10. df_old = pd.read_excel('input.xlsx') # 读取原有的 DataFrame
  11. df = pd.concat([df_old, df]) # 在原有 DataFrame 的末尾添加新数据
  12. # 将整个 DataFrame 写回到 Excel 文件中
  13. df.to_excel(writer, index=False)
  14. writer.save() # 保存修改后的 Excel 文件

在上面的代码中,我们首先使用 load_workbook 方法读取了名为 input.xlsx 的 Excel 文件,然后创建了一个 ExcelWriter 对象。接下来,我们读取了原有的 DataFrame(使用 pd.read_excel 方法),然后创建了一个新的 DataFrame,并将其添加到了原有 DataFrame 的末尾(使用 pd.concat 方法)。最后,我们使用 to_excel 方法将整个 DataFrame 写回到了 Excel 文件中。注意,我们需要调用 writer.save 方法来保存修改后的 Excel 文件。