Tôi cần ghi một số dữ liệu từ chương trình của mình vào bảng tính Excel. Tôi đã tìm kiếm trực tuyến và dường như có nhiều gói có sẵn [xlwt, XlsXcessive, openpyxl]. Những người khác đề nghị viết thư cho một. csv [chưa bao giờ sử dụng CSV và không thực sự hiểu nó là gì]
Chương trình rất đơn giản. Tôi có hai danh sách [float] và ba biến [chuỗi]. Tôi không biết độ dài của hai danh sách và có thể chúng sẽ không bằng nhau
Tôi muốn bố cục như trong hình bên dưới
Cột màu hồng sẽ có các giá trị của danh sách đầu tiên và cột màu xanh lá cây sẽ có các giá trị của danh sách thứ hai
Vì vậy, cách tốt nhất để làm điều này là gì?
Tôi đang chạy Windows 7 nhưng tôi không nhất thiết phải cài đặt Office trên các máy tính đang chạy chương trình này
import xlwt
x=1
y=2
z=3
list1=[2.34,4.346,4.234]
book = xlwt.Workbook[encoding="utf-8"]
sheet1 = book.add_sheet["Sheet 1"]
sheet1.write[0, 0, "Display"]
sheet1.write[1, 0, "Dominance"]
sheet1.write[2, 0, "Test"]
sheet1.write[0, 1, x]
sheet1.write[1, 1, y]
sheet1.write[2, 1, z]
sheet1.write[4, 0, "Stimulus Time"]
sheet1.write[4, 1, "Reaction Time"]
i=4
for n in list1:
i = i+1
sheet1.write[i, 0, n]
book.save["trial.xls"]
Tôi đã viết điều này bằng cách sử dụng tất cả các đề xuất của bạn. Nó hoàn thành công việc nhưng nó có thể được cải thiện một chút
Làm cách nào để định dạng các ô được tạo trong vòng lặp for [giá trị ____19_______] là khoa học hoặc số?
Tôi không muốn cắt bớt các giá trị. Các giá trị thực được sử dụng trong chương trình sẽ có khoảng 10 chữ số sau dấu thập phân
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[] để viết hoặc xuất DataFrame của gấu trúc sang bảng 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 một trang tính có tên 'Sheet1'
.
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 nhau5. Bỏ qua chỉ mục
Để bỏ qua Chỉ mục khi viết, hãy sử dụng
# Write DataFrame to Excel file with sheet name
df.to_excel['Courses.xlsx', sheet_name='Technologies']
0 param. 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[]. Cũng 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ó