Hãy tưởng tượng rằng bạn là một nhà thám hiểm không gian, và dữ liệu là bản đồ bầu trời đầy sao của bạn. Nó phức tạp, rối rắm và cực kỳ cần thiết. Sau khi lọc và phân tích cẩn thận, những dữ liệu này cần được sắp xếp và lưu trữ trong một định dạng dễ đọc. Và đây là lúc anh hùng của chúng ta xuất hiện - xuất dữ liệu sang Excel. Nó cho phép bạn chia sẻ phát hiện của mình với đồng nghiệp hoặc chuẩn bị báo cáo cho một cuộc họp quan trọng. Trong thế giới mà dữ liệu là dầu mỏ mới, kỹ năng tạo báo cáo chỉ trong vài dòng code có thể đáng giá triệu đô.
1. Những điểm chính của việc xuất dữ liệu
Xuất dữ liệu sang Excel không chỉ là chuyển đổi từ định dạng
này sang định dạng khác. Đây là cơ hội để tùy chỉnh báo cáo sao cho
dễ sử dụng và dễ hiểu. Như một lập trình viên mà tôi quen đã nói:
"Python có thể làm phép thuật, nhưng ngay cả Harry Potter cũng cần đũa phép".
Trong trường hợp của chúng ta, đũa phép chính là phương thức
to_excel
từ thư viện pandas
.
Những điều cơ bản về to_excel
Hãy bắt đầu với ví dụ đơn giản về xuất dữ liệu từ DataFrame
sang
tệp Excel. Giả sử chúng ta có một DataFrame
chứa các bản ghi
của người tham gia cuộc thi marathon:
import pandas as pd
# Tạo DataFrame
data = {
'Tên': ['Anna', 'Boris', 'Viktor', 'Galina'],
'Tuổi': [29, 34, 22, 28],
'Thành phố': ['Moscow', 'Saint-Petersburg', 'Kazan', 'Novosibirsk'],
'Thời gian về đích': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}
df = pd.DataFrame(data)
# Xuất DataFrame sang Excel
df.to_excel('marathon_participants.xlsx', index=False)
Trong ví dụ này, chúng ta đã tạo một DataFrame
đơn giản và xuất
nó sang tệp marathon_participants.xlsx
. Hãy chú ý rằng chúng ta đã
đặt tham số index=False
để không xuất chỉ số của
DataFrame
sang Excel nếu không cần thiết.
Thêm định dạng và phong cách
Tiến lên cấp độ tiếp theo của kỹ năng - thêm phong cách. Ai đã nói
rằng dữ liệu không thể đẹp mắt? Với thư viện pandas
và
openpyxl
, bạn có thể dễ dàng định dạng bảng và thêm kiểu dáng.
import pandas as pd
from openpyxl import Workbook
# Tạo DataFrame
data = {
'Tên': ['Anna', 'Boris', 'Viktor', 'Galina'],
'Tuổi': [29, 34, 22, 28],
'Thành phố': ['Moscow', 'Saint-Petersburg', 'Kazan', 'Novosibirsk'],
'Thời gian về đích': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}
df = pd.DataFrame(data)
# Ghi vào Excel với định dạng
with pd.ExcelWriter('styled_marathon.xlsx', engine='openpyxl') as writer:
df.to_excel(writer, index=False, sheet_name='Người tham gia')
worksheet = writer.sheets['Người tham gia']
for col in worksheet.columns:
max_length = 0
column = col[0].column_letter # lấy ký hiệu cột
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2) * 1.2
worksheet.column_dimensions[column].width = adjusted_width
Trong ví dụ này, chúng ta không chỉ xuất dữ liệu mà còn
điều chỉnh độ rộng của các cột phù hợp với nội dung để
chúng trông gọn gàng hơn trong Excel. Chúng ta dùng
openpyxl
để truy cập bảng và áp dụng phong cách.
Làm việc với nhiều bảng
Tạo báo cáo với nhiều bảng có vẻ như một nhiệm vụ khó khăn, nhưng thực ra khá đơn giản. Hãy tưởng tượng bạn muốn lưu trữ dữ liệu từ các cuộc thi hàng năm khác nhau trên các bảng riêng.
import pandas as pd
# Dữ liệu cho các năm khác nhau
data_2022 = {
'Tên': ['Dmitry', 'Elena'],
'Tuổi': [30, 29],
'Thành phố': ['Omsk', 'Vladivostok'],
'Thời gian về đích': ['03:20:05', '03:35:40']
}
data_2023 = {
'Tên': ['Igor', 'Katerina'],
'Tuổi': [31, 27],
'Thành phố': ['Chelyabinsk', 'Yekaterinburg'],
'Thời gian về đích': ['03:29:10', '03:40:20']
}
df_2022 = pd.DataFrame(data_2022)
df_2023 = pd.DataFrame(data_2023)
# Ghi dữ liệu vào các bảng khác nhau
with pd.ExcelWriter('marathon_data.xlsx') as writer:
df_2022.to_excel(writer, sheet_name='2022', index=False)
df_2023.to_excel(writer, sheet_name='2023', index=False)
Đoạn code này tạo tệp marathon_data.xlsx
với hai bảng, trên đó
chứa dữ liệu của các năm khác nhau. Điều này rất tiện lợi để
phân chia dữ liệu theo năm, dự án hoặc các danh mục khác.
2. Luôn có chỗ để cải thiện
Cố gắng suy nghĩ về cách tự động hóa việc xuất có thể được tích hợp vào các quá trình phức tạp hơn của dự án của bạn. Có lẽ bạn sẽ muốn thêm chức năng tạo biểu đồ tự động sau khi xuất? Hoặc tích hợp báo cáo với giao diện web để truy cập dễ dàng hơn?
Dù sao đi nữa, xuất dữ liệu sang Excel chỉ là điểm khởi đầu trên con đường tạo ra những báo cáo đẹp mắt và thông tin hữu ích, điều sẽ làm bạn trở thành một ngôi sao phân tích tại nơi làm việc hoặc trong học tập!
Bây giờ bạn đã có các công cụ để tự động hóa việc xuất dữ liệu, và bạn biết cách làm cho báo cáo của mình trong Excel dễ đọc hơn và trình bày tốt hơn. Vì vậy, hãy tiến lên và để dữ liệu của bạn luôn phục vụ bạn!
GO TO FULL VERSION