spark将DataFrame结果输出为Excel
时间: 2024-05-11 07:18:17 浏览: 208
可以使用Apache POI库,将DataFrame结果转换为XSSFWorkbook,然后将其写入Excel文件。以下是一个示例代码:
```python
from pyspark.sql import SparkSession
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 创建SparkSession
spark = SparkSession.builder \
.appName("DataFrame to Excel") \
.getOrCreate()
# 读取数据
df = spark.read.format("csv").option("header", True).load("data.csv")
# 将DataFrame转换为XSSFWorkbook
workbook = Workbook()
worksheet = workbook.active
rows = dataframe_to_rows(df, index=False, header=True)
for r_idx, row in enumerate(rows, 1):
for c_idx, value in enumerate(row, 1):
worksheet.cell(row=r_idx, column=c_idx, value=value)
# 将结果写入Excel文件
workbook.save("output.xlsx")
# 关闭SparkSession
spark.stop()
```
在这个例子中,我们首先使用SparkSession读取CSV数据,然后将DataFrame转换为XSSFWorkbook。我们使用openpyxl库中的dataframe_to_rows函数将DataFrame转换为行列表,然后将每个值写入Excel单元格中。最后,我们将结果保存为output.xlsx文件。
阅读全文