Pyspark viết excel

Trong ứng dụng


import pandas as pd
import numpy as np

# Create multiple lists
technologies =  ['Spark','Pandas','Java','Python', 'PHP']
fee = [25000,20000,15000,15000,18000]
duration = ['5o Days','35 Days',np.nan,'30 Days', '30 Days']
discount = [2000,1000,800,500,800]
columns=['Courses','Fee','Duration','Discount']

# Create DataFrame from multiple lists
df = pd.DataFrame[list[zip[technologies,fee,duration,discount]], columns=columns]
print[df]

# Outputs
#  Courses    Fee Duration  Discount
#0   Spark  25000  5o Days      2000
#1  Pandas  20000  35 Days      1000
#2    Java  15000      NaN       800
#3  Python  15000  30 Days       500
#4     PHP  18000  30 Days       800
9, tôi đã tạo hai DataFrame khác nhau. tia lửa.

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
0 và Scala.

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
1 Nhiệm vụ của tôi là tạo một tệp excel với hai trang tính cho mỗi DataFrame. Tôi quyết định sử dụng thư viện

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
2 [

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
3] nhưng tôi hơi bối rối

Đây là mã của tôi

import org.apache.spark.sql.Dataset
import spark.implicits._

val df1 = Seq[
    ["2019-01-01 00:00:00", "7056589658"],
    ["2019-02-02 00:00:00", "7778965896"]
].toDF["DATE_TIME", "PHONE_NUMBER"]

df1.show[]

val df2 = Seq[
    ["2019-01-01 01:00:00", "194.67.45.126"],
    ["2019-02-02 00:00:00", "102.85.62.100"],
    ["2019-03-03 03:00:00", "102.85.62.100"]
].toDF["DATE_TIME", "IP"]

df2.show[]

df1.write
    .format["com.crealytics.spark.excel"]
    .option["dataAddress", "'First'!A1:B1000"]
    .option["useHeader", "true"]
    .mode["append"]
    .save["/hdd/home/NNogerbek/data.xlsx"]

df2.write
    .format["com.crealytics.spark.excel"]
    .option["dataAddress", "'Second'!A1:B1000"]
    .option["useHeader", "true"]
    .mode["append"]
    .save["/hdd/home/NNogerbek/data.xlsx"]

Trong


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
4, tôi nhận thấy rằng đoạn mã khá đơn giản của mình đã tạo ra hơn 200 việc làm. Một công việc mới được tạo ra mỗi phút. Tất cả đều chạy mã của tệp bên trong thư viện

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
2. Theo tôi, đây là một hành vi rất lạ

Theo như tôi hiểu thì tệp excel trong tương lai được lưu trong hệ thống tệp hdfs phải không?

Sử dụng hàm pandas to_excel[] để ghi DataFrame vào trang tính excel có phần mở rộng. xlsx. Theo mặc định, nó ghi một DataFrame duy nhất vào tệp excel, bạn cũng có thể ghi nhiều trang tính bằng cách sử dụng đối tượng ExcelWriter có tên tệp đích và tên trang tính để ghi vào

Lưu ý rằng việc tạo đối tượng ExcelWriter với tên tệp đã tồn tại sẽ dẫn đến nội dung của tệp hiện có bị xóa

Có liên quan. gấu trúc đọc Excel Sheet

pandas đến các điểm quan trọng của Excel

  • Theo mặc định, nó sử dụng xlsxwriter nếu nó được cài đặt, nếu không, nó sử dụng openpyxl
  • Hỗ trợ lưu nhiều DataFrames vào một trang tính
  • Lưu nhiều trang tính, nối thêm trang tính hoặc tệp hiện có
  • Sử dụng ExcelWriter[]

Hãy tạo một DataFrame gấu trúc từ danh sách và khám phá hàm usingto_excel[] bằng cách sử dụng nhiều tham số


import pandas as pd
import numpy as np

# Create multiple lists
technologies =  ['Spark','Pandas','Java','Python', 'PHP']
fee = [25000,20000,15000,15000,18000]
duration = ['5o Days','35 Days',np.nan,'30 Days', '30 Days']
discount = [2000,1000,800,500,800]
columns=['Courses','Fee','Duration','Discount']

# Create DataFrame from multiple lists
df = pd.DataFrame[list[zip[technologies,fee,duration,discount]], columns=columns]
print[df]

# Outputs
#  Courses    Fee Duration  Discount
#0   Spark  25000  5o Days      2000
#1  Pandas  20000  35 Days      1000
#2    Java  15000      NaN       800
#3  Python  15000  30 Days       500
#4     PHP  18000  30 Days       800

1. pandas DataFrame sang Excel

Sử dụng hàm to_excel[] để ghi hoặc xuất DataFrame của gấu trúc sang trang tính excel với phần mở rộng xlsx. Sử dụng điều này, bạn có thể ghi các tệp excel vào hệ thống tệp cục bộ, S3 e. t. c. Không chỉ định bất kỳ tham số nào mà nó mặc định ghi vào một trang tính

to_excel[] nhận một số tham số tùy chọn có thể được sử dụng bỏ qua cột, bỏ qua hàng, không ghi chỉ mục, đặt tên cột, định dạng, v.v.


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']

Điều này tạo ra một tệp excel với nội dung như dưới đây. Theo mặc định, Nó xuất tên cột, chỉ mục và dữ liệu sang trang tính có tên


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
8

Bạn có thể thay đổi tên của trang tính từ Trang tính 1 thành tên nào đó có ý nghĩa đối với dữ liệu của bạn bằng cách sử dụng thông số


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
9. Ví dụ dưới đây xuất nó sang trang tính có tên '

# Write DataFrame to Excel file with sheet name
df.to_excel['Courses.xlsx', sheet_name='Technologies']
0'


# Write DataFrame to Excel file with sheet name
df.to_excel['Courses.xlsx', sheet_name='Technologies']

2. Ghi vào nhiều trang tính

Lớp ExcelWriter cho phép bạn viết hoặc xuất nhiều DataFrames gấu trúc sang các trang tính riêng biệt. Đầu tiên, bạn cần tạo một đối tượng cho ExcelWriter

Ví dụ dưới đây ghi dữ liệu từ đối tượng


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
0 vào trang tính có tên

# Write DataFrame to Excel file with sheet name
df.to_excel['Courses.xlsx', sheet_name='Technologies']
0 và đối tượng

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
2 vào trang tính có tên

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
3


# Write to Multiple Sheets
with pd.ExcelWriter['Courses.xlsx'] as writer:
    df.to_excel[writer, sheet_name='Technologies']
    df2.to_excel[writer, sheet_name='Schedule']

3. Nối vào tệp Excel hiện có

ExcelWriter có thể được sử dụng để nối thêm DataFrame vào tệp excel. Sử dụng tham số


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
4 với giá trị

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
5 để nối thêm. Đoạn mã dưới đây mở một tệp hiện có và thêm dữ liệu từ DataFrame vào trang tính đã chỉ định


import pandas as pd
import numpy as np

# Create multiple lists
technologies =  ['Spark','Pandas','Java','Python', 'PHP']
fee = [25000,20000,15000,15000,18000]
duration = ['5o Days','35 Days',np.nan,'30 Days', '30 Days']
discount = [2000,1000,800,500,800]
columns=['Courses','Fee','Duration','Discount']

# Create DataFrame from multiple lists
df = pd.DataFrame[list[zip[technologies,fee,duration,discount]], columns=columns]
print[df]

# Outputs
#  Courses    Fee Duration  Discount
#0   Spark  25000  5o Days      2000
#1  Pandas  20000  35 Days      1000
#2    Java  15000      NaN       800
#3  Python  15000  30 Days       500
#4     PHP  18000  30 Days       800
0

4. Lưu các cột đã chọn

sử dụng thông số


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
6 để lưu các cột đã chọn từ DataFrame sang tệp excel. Ví dụ bên dưới chỉ lưu cột

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
7,

# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
8 vào file excel


import pandas as pd
import numpy as np

# Create multiple lists
technologies =  ['Spark','Pandas','Java','Python', 'PHP']
fee = [25000,20000,15000,15000,18000]
duration = ['5o Days','35 Days',np.nan,'30 Days', '30 Days']
discount = [2000,1000,800,500,800]
columns=['Courses','Fee','Duration','Discount']

# Create DataFrame from multiple lists
df = pd.DataFrame[list[zip[technologies,fee,duration,discount]], columns=columns]
print[df]

# Outputs
#  Courses    Fee Duration  Discount
#0   Spark  25000  5o Days      2000
#1  Pandas  20000  35 Days      1000
#2    Java  15000      NaN       800
#3  Python  15000  30 Days       500
#4     PHP  18000  30 Days       800
4

Sử dụng tham số


# Write DataFrame to Excel file
df.to_excel['Courses.xlsx']
9 với danh sách các giá trị nếu bạn muốn viết với các tên cột khác nhau

5. Bỏ qua chỉ mục

Để bỏ qua Chỉ mục khi viết, hãy sử dụng thông số


# Write DataFrame to Excel file with sheet name
df.to_excel['Courses.xlsx', sheet_name='Technologies']
0. Theo mặc định, nó được đặt thành

# Write DataFrame to Excel file with sheet name
df.to_excel['Courses.xlsx', sheet_name='Technologies']
1 nghĩa là ghi Chỉ mục số vào bảng tính excel


import pandas as pd
import numpy as np

# Create multiple lists
technologies =  ['Spark','Pandas','Java','Python', 'PHP']
fee = [25000,20000,15000,15000,18000]
duration = ['5o Days','35 Days',np.nan,'30 Days', '30 Days']
discount = [2000,1000,800,500,800]
columns=['Courses','Fee','Duration','Discount']

# Create DataFrame from multiple lists
df = pd.DataFrame[list[zip[technologies,fee,duration,discount]], columns=columns]
print[df]

# Outputs
#  Courses    Fee Duration  Discount
#0   Spark  25000  5o Days      2000
#1  Pandas  20000  35 Days      1000
#2    Java  15000      NaN       800
#3  Python  15000  30 Days       500
#4     PHP  18000  30 Days       800
8

Sự kết luận

Trong bài viết này, bạn đã học cách ghi DataFrame của pandas vào tệp excel bằng cách sử dụng to_excel[]. Đồng thời khám phá cách ghi vào trang tính cụ thể, nhiều trang tính và nối vào tệp excel hiện có

Bạn có thể ghi vào tệp Excel bằng Python không?

XlsxWriter là mô-đun Python để ghi tệp ở định dạng tệp XLSX . Nó có thể được sử dụng để viết văn bản, số và công thức vào nhiều trang tính. Ngoài ra, nó hỗ trợ các tính năng như định dạng, hình ảnh, biểu đồ, thiết lập trang, bộ lọc tự động, định dạng có điều kiện và nhiều tính năng khác.

PySpark có thể đọc Excel không?

PySpark có thể đọc excel không? . Hỗ trợ cả phần mở rộng tệp xls và xlsx từ hệ thống tệp cục bộ hoặc URL. Hỗ trợ tùy chọn đọc một trang tính hoặc danh sách các trang tính. Read an Excel file into a pandas-on-Spark DataFrame or Series. Support both xls and xlsx file extensions from a local filesystem or URL. Support an option to read a single sheet or a list of sheets.

PySpark có nhanh hơn Pandas không?

Do thực thi song song trên tất cả các lõi trên nhiều máy, PySpark chạy các hoạt động nhanh hơn Pandas , do đó chúng tôi thường phải chuyển đổi Pandas DataFrame thành . Đây là một trong những điểm khác biệt chính giữa Pandas và PySpark DataFrame.

Làm cách nào để đọc tệp xlsx hoặc xls dưới dạng Spark DataFrame?

tia lửa. .
df= tia lửa. đọc\
định dạng ["com. crealytics. tia lửa. vượt trội"]\
tùy chọn ["tiêu đề", "true"]\
tải [đường dẫn đầu vào + đầu vào_thư mục_chung + "test1. xlsx"]
hiển thị [df]

Chủ Đề