Đấu tranh cho điều này trong nhiều giờ nên tôi quyết định yêu cầu sự giúp đỡ từ các chuyên gia ở đây:
Tôi muốn sửa đổi tờ Excel hiện có mà không ghi đè nội dung. Tôi có các tờ khác trong tệp Excel này và tôi không muốn tác động đến các tờ khác.
Tôi đã tạo mã mẫu, không chắc chắn làm thế nào để thêm bảng thứ hai mà tôi muốn giữ mặc dù.
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') #how to update the sheet'Here', cell A5:C6 with following without overwriting the rest? #I want to keep the sheet "Keep" update=pd.DataFrame({'A':[3,4], 'B':[4,5]}, index=pd.date_range('2004-04-30', periods=2, freq='M'))Tôi đã nghiên cứu như vậy. Nhưng không chắc chắn làm thế nào để viết một dataFrame vào trang tính.
Ví dụ tôi đã thử:
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx')Trong phần này, tôi sẽ chứng minh làm thế nào thư viện Pandas có thể được sử dụng với Excel. Chúng tôi sẽ sử dụng các hoạt động bảng Excel cơ bản như tạo một tờ mới, thêm dữ liệu số lượng lớn, nối dữ liệu, đọc dữ liệu, dữ liệu định dạng và thêm biểu đồ. Thực hiện các lệnh sau để cài đặt các thư viện Pandas, XLSXWriter, XLRD và OpenPyXL.Thực hiện các hoạt động excel cơ bản với các thư viện Python
Cài đặt
Tạo một tờ Excel
import pandas as pdwriter = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')writer.close()Mã này sẽ tạo một tệp pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl1 mới với một bảng mặc định có tên pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl2.
Trống demo.xlsx với tờ bảng1Thêm dữ liệu số lượng lớn vào bảng Excel
import pandas as pd# dataframe Name and Age columns
df = pd.DataFrame({'Name': ['A', 'B', 'C', 'D'],
'Age': [10, 0, 30, 50]})
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1', index=False)
# Close the Pandas Excel writer and output the Excel file.
writer.close()
Mã này sẽ thêm hai cột, pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl3 và pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl4, với dữ liệu vào pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl2 của pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl1.
Thêm dữ liệu số lượng lớn vào bảng ExcelĐọc dữ liệu từ một tờ Excel
import pandas as pdreader = pd.read_excel(r'demo.xlsx')print(reader)Mã này sẽ in tất cả dữ liệu từ một tờ Excel. Biến đọc là một loại khung dữ liệu Pandas.
Name Age0 A 10
1 B 0
2 C 30
3 D 50
Nối dữ liệu ở cuối bảng excel
Mã này sẽ nối dữ liệu ở cuối Excel.
Dữ liệu được thêm vào cuối của một ExcelThêm định dạng có điều kiện vào đầu ra
Chúng ta có thể định dạng các ô bằng thư viện XLSXWriter:
Mã trên sẽ thêm một màu khác nhau cho các tế bào cột tuổi.
Dữ liệu định dạng có điều kiệnThêm biểu đồ vào đầu ra
Mã trên sẽ thêm các biểu đồ vào một tờ Excel từ khung dữ liệu của Panda.
Biểu đồ từ khung data pandaCảm ơn đã đọc bài viết này. Nếu bạn thích nó, nhấp vào 👏 để đánh giá nó trong số 50 và cũng chia sẻ nó với bạn bè của bạn. Nó mang nhiều ý nghĩa với tôi. and also share it with your friends. It means a lot to me.
Bạn có muốn kiểm tra các bài viết khác của tôi không?
pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl0 Làm thế nào để bạn ghi vào một tệp excel hiện có mà không ghi đè dữ liệu bằng gấu trúc? Khóa học liên quan: Phân tích dữ liệu với Python Pandas Data
Analysis with Python Pandas import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')
sheet = xfile.get_sheet_by_name('test')
sheet['B5']='wrote!!'
xfile.save('test2.xlsx')
4 Ví dụ, gấu trúc. Chuẩn bị một đối tượng DataFrame khác. import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')
sheet = xfile.get_sheet_by_name('test')
sheet['B5']='wrote!!'
xfile.save('test2.xlsx')
8Nếu bạn không cần viết chỉ mục (tên hàng), cột (tên cột), chỉ mục đối số, cột là sai.
import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')
sheet = xfile.get_sheet_by_name('test')
sheet['B5']='wrote!!'
xfile.save('test2.xlsx')
5 import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')
sheet = xfile.get_sheet_by_name('test')
sheet['B5']='wrote!!'
xfile.save('test2.xlsx')
6 Sau đó, sử dụng hàm excelwriter () như thế này:
import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')
sheet = xfile.get_sheet_by_name('test')
sheet['B5']='wrote!!'
xfile.save('test2.xlsx')
7
A dataframe is
defined below:
1 2 3 4 5 6 7 8 9 10 11 | import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 0 |
Bạn có thể chỉ định một đường dẫn là đối số đầu tiên của pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl9.
Lưu ý: Dữ liệu trong tệp gốc sẽ bị xóa khi ghi đè.
Đối số import pandas as pdwriter = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')writer.close()0 là tên của trang tính. Nếu bị bỏ qua, nó sẽ được đặt tên là pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl2.
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 1 | import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 2 |
Khóa học liên quan: Phân tích dữ liệu với Python Pandas Data Analysis with Python Pandas
Nếu bạn không cần viết chỉ mục (tên hàng), cột (tên cột), chỉ mục đối số, cột là sai.
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 1 | import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 2 |
Khóa học liên quan: Phân tích dữ liệu với Python Pandas
Nếu bạn không cần viết chỉ mục (tên hàng), cột (tên cột), chỉ mục đối số, cột là sai.
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 4
Viết nhiều khung dữ liệu vào các tệp excel | Đối tượng Excelwriter cho phép bạn sử dụng nhiều gấu trúc. Các đối tượng DataFrame có thể được xuất sang các tờ riêng biệt. |
Ví dụ, gấu trúc. Chuẩn bị một đối tượng DataFrame khác.
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 5 | import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 6 |
Sau đó, sử dụng hàm excelwriter () như thế này:
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 7
import openpyxl xfile = openpyxl.load_workbook('test.xlsx') sheet = xfile.get_sheet_by_name('test') sheet['B5']='wrote!!' xfile.save('test2.xlsx') 8
Bạn không cần phải gọi Writer.save (), writer.close () trong các khối.
Viết nhiều khung dữ liệu vào các tệp excel | Đối tượng Excelwriter cho phép bạn sử dụng nhiều gấu trúc. Các đối tượng DataFrame có thể được xuất sang các tờ riêng biệt. |
Khóa học liên quan: Phân tích dữ liệu với Python Pandas Data Analysis with Python Pandas