Tôi chưa quen với Python. Tôi cần phải viết một số dữ liệu từ chương trình của tôi vào một bảng tính. 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ị ghi vào tệp .csv (không 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à chúng có thể sẽ không có cùng độ dài.
Tôi muốn bố cục như trong hình dưới đây:
Cột màu hồng sẽ có các giá trị của danh sách thứ nhất 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ì?
PS 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 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 đôi chút.
Làm cách nào để định dạng các ô được tạo trong vòng lặp for (giá trị list1) 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 tế được sử dụng trong chương trình sẽ có khoảng 10 chữ số sau số thập phân.