Pandas vượt trội mà không cần ghi đè

Tìm ra nó bởi bản thân mình

#Prepare the excel we want to write to
t=pd.date_range('2004-01-31', freq='M', periods=4)
first=pd.DataFrame({'A':[1,1,1,1],
             'B':[2,2,2,2]}, index=t)
first.index=first.index.strftime('%Y-%m-%d')
writer=pd.ExcelWriter('test.xlsx')
first.to_excel(writer, sheet_name='Here')
first.to_excel(writer, sheet_name='Keep')

#read the existing sheets so that openpyxl won't create a new one later
book = load_workbook('test.xlsx')
writer = pandas.ExcelWriter('test.xlsx', engine='openpyxl') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

#update without overwrites
update=pd.DataFrame({'A':[3,4],
                     'B':[4,5]}, index=(pd.date_range('2004-04-30', 
                                                     periods=2,
                                                     freq='M').strftime('%Y-%m-%d')))

update.to_excel(writer, "Here", startrow=1, startcol=2)

writer.save()

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

Hướng dẫn PySpark cho người mới bắt đầu. Py

Vui lòng bật JavaScript

Hướng dẫn PySpark cho người mới bắt đầu. Ví dụ về Python

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 'Sheet1'

Pandas vượt trội mà không cần ghi đè

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 tham số sheet_name. Ví dụ dưới đây xuất nó sang trang tính có tên 'Technologies'


# 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 Technologies 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


# Append DataFrame to existing excel file
with pd.ExcelWriter('Courses.xlsx',mode='a') as writer:  
    df.to_excel(writer, sheet_name='Technologies')

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ụ dưới đây chỉ lưu các 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


# Save Selected Columns to Excel File
df.to_excel('Courses.xlsx', columns = ['Fee','Duration'])

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 trang tính excel


# Skip Index
df.to_excel('Courses.xlsx', index = False)

Phần 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ó

Làm cách nào để ghi vào tệp Excel hiện có mà không ghi đè dữ liệu Java?

1 câu trả lời .
từ openpyxl nhập load_workbook
nhà văn = gấu trúc. ExcelWriter('Tệp chính. xlsx', engine='openpyxl')
nhà văn. tờ = dict((ws. tiêu đề, ws) cho ws trong sách. bảng tính)
data_filtered. to_excel(nhà văn, "Chính", cols=['Diff1', 'Diff2'])
nhà văn. tiết kiệm()

to_excel trong gấu trúc là gì?

Phương thức to_excel() được dùng để xuất Khung dữ liệu sang tệp excel . Để ghi một đối tượng vào tệp excel, chúng ta phải chỉ định tên tệp đích.

Làm thế nào gấu trúc thao tác dữ liệu trong Excel?

Chúng ta chỉ cần nhập gấu trúc, sử dụng phương thức read_csv() và viết tên của tệp Excel/CSV trong ngoặc đơn . Trong đoạn mã trên, chúng tôi đã đổi tên gấu trúc thành “pd. ” Đây chỉ là quy ước đặt tên cho gấu trúc. Sau khi chạy đoạn mã trên, bạn sẽ thấy khung dữ liệu sau. Đó là tất cả những gì bạn cần để tạo một khung dữ liệu.