Tôi đang cố gắng để có được tham số float_format
hoạt động với chức năng to_excel[]
của Pandas, nhưng dường như nó không làm gì cả.
Code:
df = pd.DataFrame[{
'date':['1/15/2016','2/1/2016','2/15/2016','3/15/2016'],
'numA':[1000,2000,3000,4000.3],
'numB':[10000,20000.2,30000,40000]
}]
writer = pd.ExcelWriter['c:/.../pandas_excel_test.xlsx', engine = 'xlsxwriter']
print df.dtypes
df.to_excel[writer,
index = False,
float_format = '%.2f',
]
Nhưng tệp Excel trông như thế này:
Tôi đã xác nhận dtypes là:
date object
numA float64
numB float64
dtype: object
Có ai biết làm thế nào để định dạng phao đúng cách trong to_excel[]
không?
Viết đối tượng vào một tờ Excel.
Để viết một đối tượng duy nhất vào tệp .xlsx Excel, chỉ cần chỉ định tên tệp đích. Để ghi vào nhiều tờ, cần phải tạo một đối tượng Excelwriter với tên tệp đích và chỉ định một tờ trong tệp để ghi vào.
Nhiều tờ có thể được viết bằng cách chỉ định bảng độc đáo. Với tất cả dữ liệu được ghi vào tệp, cần phải lưu các thay đổi. Lưu ý rằng việc tạo một đối tượng Excelwriter có 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.
ParameterSexcel_Writerstr hoặc ExcelWriter Objectexcel_writerstr or ExcelWriter objectĐường dẫn tệp hoặc Excelwriter hiện có.
sheet_namestr, mặc định ‘sheet1,str, default ‘Sheet1’Tên của tờ sẽ chứa DataFrame.
Thiếu đại diện dữ liệu.
float_formatstr, tùy chọnstr, optionalChuỗi định dạng cho số điểm nổi. Ví dụ
date object
numA float64
numB float64
dtype: object
0 sẽ định dạng 0,1234 đến 0,12.các cột tự nhiên hoặc danh sách STR, tùy chọnsequence or list of str, optionalCác cột để viết.
headerbool hoặc danh sách str, mặc định đúngbool or list of str, default TrueViết ra tên cột. Nếu một danh sách chuỗi được đưa ra, nó được coi là bí danh cho các tên cột.
indexBool, mặc định đúngbool, default TrueViết tên hàng [chỉ mục].
index_labelstr hoặc trình tự, tùy chọnstr or sequence, optionalNhãn cột cho [các] cột nếu muốn. Nếu không được chỉ định, và tiêu đề và chỉ mục là đúng, thì tên chỉ mục được sử dụng. Một chuỗi nên được đưa ra nếu DataFrame sử dụng Multi Index.
Startrowint, mặc định 0int, default 0Hàng ô trên bên trái để kết xuất khung dữ liệu.
StartColint, mặc định 0int, default 0Cột ô trên bên trái để kết xuất khung dữ liệu.
Enginest, tùy chọnstr, optionalViết công cụ để sử dụng, ‘openpyxl, hoặc‘ xlsxwriter. Bạn cũng có thể đặt cái này thông qua các tùy chọn
date object
numA float64
numB float64
dtype: object
1, date object
numA float64
numB float64
dtype: object
2 và date object
numA float64
numB float64
dtype: object
3.hợp nhất_cellsbool, mặc định đúngbool, default TrueViết các hàng đa indi và phân cấp như các ô được hợp nhất.
EncodingTr, tùy chọnstr, optionalMã hóa tệp Excel kết quả. Chỉ cần thiết cho XLWT, các nhà văn khác hỗ trợ Unicode tự nhiên.
inf_repstr, mặc định ‘infstr, default ‘inf’Đại diện cho vô cực [không có đại diện bản địa cho vô cùng trong excel].
Hiển thị thêm thông tin trong nhật ký lỗi.
FREEZE_PANESTUPPLE của int [chiều dài 2], tùy chọntuple of int [length 2], optionalChỉ định hàng Bottommost một dựa trên và cột ngoài cùng bên phải sẽ bị đóng băng.
Xem thêm
date object
numA float64
numB float64
dtype: object
4Viết DataFrame vào tệp Giá trị được phân tách bằng dấu phẩy [CSV].
date object
numA float64
numB float64
dtype: object
5Lớp để viết các đối tượng DataFrame vào các tờ Excel.
date object
numA float64
numB float64
dtype: object
6Đọc một tập tin Excel vào một bản dữ liệu gấu trúc.
date object
numA float64
numB float64
dtype: object
7Đọc một tệp giá trị được phân tách bằng dấu phẩy [CSV] vào DataFrame.
Ghi chú
Để tương thích với
date object
numA float64
numB float64
dtype: object
8, TO_EXCEL đã tuần tự hóa các danh sách và chỉ định cho các chuỗi trước khi viết.Khi một sổ làm việc đã được lưu, không thể ghi thêm dữ liệu mà không viết lại toàn bộ sổ làm việc.
Ví dụ
Tạo, ghi vào và lưu một sổ làm việc:
>>> df1 = pd.DataFrame[[['a', 'b'], ['c', 'd']], ... index=['row 1', 'row 2'], ... columns=['col 1', 'col 2']] >>> df1.to_excel["output.xlsx"]
Để chỉ định tên trang tính:
>>> df1.to_excel["output.xlsx", ... sheet_name='Sheet_name_1']
Nếu bạn muốn viết vào nhiều hơn một tờ trong sổ làm việc, cần phải chỉ định một đối tượng Excelwriter:
>>> df2 = df1.copy[] >>> with pd.ExcelWriter['output.xlsx'] as writer: ... df1.to_excel[writer, sheet_name='Sheet_name_1'] ... df2.to_excel[writer, sheet_name='Sheet_name_2']
Excelwriter cũng có thể được sử dụng để nối vào tệp Excel hiện có:
>>> with pd.ExcelWriter['output.xlsx', ... mode='a'] as writer: ... df.to_excel[writer, sheet_name='Sheet_name_3']
Để đặt thư viện được sử dụng để viết tệp Excel, bạn có thể chuyển từ khóa động cơ [công cụ mặc định được tự động chọn tùy thuộc vào phần mở rộng tệp]:
>>> df1.to_excel['output1.xlsx', engine='xlsxwriter']