TUYÊN BỐ MIỄN TRỪ TRÁCH NHIỆM. Nếu bạn không biết cách viết mã, vui lòng kiểm tra công cụ của chúng tôi www. bảng tính sạch. com cho phép bạn làm điều này mà không cần mã
Nếu bạn lấy mẫu 100 người làm việc với dữ liệu và hỏi họ loại dữ liệu nào [văn bản, số, v.v.]. ] thường gây rắc rối nhất cho họ, tôi cá là ít nhất một nửa trong số họ sẽ nói ngày tháng
Ngày là một mớ hỗn độn. Dường như có rất nhiều cách để định dạng chúng. Sau đó, các chương trình khác nhau sử dụng các phương pháp khác nhau để xem một đoạn văn bản có phải là ngày tháng hay không. Điều này dẫn đến kẻ thù của Dữ liệu - không chuẩn hóa và lộn xộn
PSA. Tất cả chúng ta có thể đồng ý viết ngày là YYYY-MM-DD không? . Chuyển cái này đi và hãy kết thúc Ngày tận thế này một lần cho tất cả
LÀM CUỘC SỐNG DỄ DÀNG HƠN CHO MỌI NGƯỜI
Nhưng cho đến khi tất cả chúng ta có thể hiểu được thông báo này, chúng ta thường xuyên cần chuyển đổi ngày thành một định dạng bất cứ khi nào chúng ta thực hiện phân tích dữ liệu
Hướng dẫn này phác thảo một cách để chuyển đổi ngày trong bảng tính bằng Python và Pandas. Có nhiều cách để làm điều này nhưng chúng tôi thấy đây là cách dễ nhất
Điều kiện tiên quyết
Nếu bạn không biết cách sử dụng Terminal và Python, hoặc cách đọc và ghi tệp bằng Python và Pandas, thì hãy xem hướng dẫn này trước
Giới thiệu về Đọc và Viết Bảng tính với Python
Tập tinChúng tôi sẽ sử dụng một tệp mẫu cho hướng dẫn này. Bạn có thể tải xuống bằng cách nhấp vào tên tệp. cuộc gọi khách hàng. xlsx
Tệp này chứa một hàng cho các cuộc gọi được thực hiện cho khách hàng. Cột ngày mà chúng ta sẽ chuẩn hóa có tên là DateTime Recorded và như được thấy bên dưới, có tất cả các loại định dạng ngày khác nhau
Chỉ có 1 đại diện được sử dụng YYYY-MM-DD. Chúng tôi có một chặng đường dài để đi…. thở dài Mã đầy đủ
Mã đầy đủ ở bên dưới và bạn có thể làm theo. Chúng tôi sẽ chia nhỏ mã trong hướng dẫn
Mã đơn giản để chuyển đổi ngày thành bất kỳ định dạng nào bạn muốnTạo tệp cho mã
Mở trình soạn thảo văn bản và tạo tệp date. py. Lưu cái này vào cùng thư mục với CustomerCalls. tập tin xlsx
Nhập thư việnDòng 1
Nhập thư viện pandas để đọc, chuyển đổi ngày tháng và viết bảng tính
import pandas as pd
Đọc tệpdòng 4
Chúng tôi sẽ đọc bảng tính bằng gấu trúc và lưu trữ kết quả trong khung dữ liệu customer_calls
customer_calls = pd.read_excel["CustomerCalls.xlsx"]
Chuyển đổi ngày thành YYYY-MM-DD & Viết chuyển đổi sang một tệp mớiDòng 7–8
Bây giờ hãy xem dòng mã chuyển đổi ngày tháng. Đây là phần cốt lõi của hướng dẫn nên chúng ta sẽ mổ xẻ nó một cách chi tiết
customer_calls["DateTime Recorded"] = pd.to_datetime[customer_calls["DateTime Recorded"]].dt.strftime["%Y-%m-%d"]
Phía bên phải của dòng làm một vài điều
- Nó truy cập cột DateTime Recorded từ khung dữ liệu và sau đó chuyển đổi cột thành kiểu dữ liệu ngày giờ. Chúng tôi cần phải làm điều này trước khi chúng tôi có thể làm bất cứ điều gì trên cột này liên quan đến ngày tháng
pd.to_datetime[customer_calls["DateTime Recorded"]]
2. Sau đó, chúng tôi gọi phương thức dt và strftime với một giá trị, “%Y-%m-%d” cho Python biết cách chúng tôi muốn định dạng ngày. Hãy gọi đây là chuỗi định dạng ngày. Chúng ta sẽ xem xét cách tạo giá trị này cho bất kỳ định dạng nào sau này trong hướng dẫn
.dt.strftime["%Y-%m-%d"]
Phía bên trái của dòng chỉ định kết quả của chuyển đổi trở lại cột DateTime Recorded của khung dữ liệu customer_calls
customer_calls["DateTime Recorded"] =
Sau đó, chúng tôi viết khung dữ liệu này với cột đã chuyển đổi thành một tệp mới. Bạn có thể mở và kiểm tra ngày đã chuyển đổi
customer_calls.to_excel["CustomerCalls_YYYY_MM_DD.xlsx"]
Tạo chuỗi định dạng ngàyChuyển đổi sang bất kỳ định dạng nào khác yêu cầu chuỗi định dạng ngày thích hợp. Python cung cấp ánh xạ các phần phổ biến khác nhau của ngày, chẳng hạn như Năm có 4 chữ số [2019] và những gì chúng tương ứng trong Python, chẳng hạn như %Y
Trong tài liệu chính thức, đây được gọi là chỉ thị. Sau đó, bạn có thể sử dụng chúng để tạo chuỗi định dạng ngày và chuyển đổi ngày. Python sẽ thay thế các lệnh bằng giá trị ngày thích hợp được định dạng
E. g. , %Y là cả năm, %m là tháng có 2 chữ số và %d là ngày có 2 chữ số. Nếu chúng tôi muốn YYYY-MM-DD thì chúng tôi chỉ định “%Y-%m-%d”. Nếu chúng tôi muốn DD/MM/YYYY, thì chúng tôi chỉ định “%d/%m/%Y”
Theo nghĩa đen, chúng tôi có thể chỉ định bất kỳ thứ gì như “%d ngày của %m tháng tuyệt vời của % Y năm” sẽ chuyển đổi tất cả các ngày thành 24 ngày của 02 tháng tuyệt vời của năm 2019
Chúng ta hãy nhìn vào bản đồ dưới đây. Bạn cũng có thể đọc về điều này trong
Như bạn có thể thấy, có nhiều cách để biểu diễn hầu hết mọi thứ
Ví dụ cho ngày 22 tháng 9 năm 2019, 5. 30 giờ chiều
- “%A, %B %d” -> “Chủ nhật, ngày 22 tháng 9”
- “%d-%b-%y” -> “22-Sep-19”
- “%d %b, %Y — %I. %M %p trong múi giờ %Z” -> “22 tháng 9, 2019–5. 30 giờ tối theo múi giờ EST”
Một lần nữa, bạn có thể thấy chuỗi định dạng ngày có thể chứa bất kỳ thứ gì trong đó. Các lệnh được đánh dấu bằng % được thay thế bằng định dạng ngày thích hợp và mọi thứ khác vẫn giữ nguyên
Để chuyển đổi DateTime Recorded thành thứ gì đó như 22-Sep-19, chuỗi định dạng ngày của bạn sẽ là “%d-%b-%y” và dòng mã của bạn để chuyển đổi ngày tháng sẽ như sau
customer_calls["DateTime Recorded"] = pd.to_datetime[customer_calls["DateTime Recorded"]].dt.strftime["%d-%b-%y"]
Vui lòng thử các kết hợp khác nhau và xuất các tệp để thử nghiệm
Những điều bổ sung
Có một số điều bạn có thể gặp phải khi chuyển đổi ngày tháng
- các pd. hàm to_datetime không thể chuyển đổi ngày của bạn thành đối tượng datetime. Điều này sẽ xảy ra nếu có BẤT CỨ ĐIỀU GÌ nào khác trong cột của bạn ngoại trừ ngày tháng hoặc nếu một ngày quá lạ khiến gấu trúc không thể nhận ra. Bạn sẽ phải định dạng lại/xóa giá trị vi phạm hoặc sử dụng phương pháp khác để chuyển đổi ngày tháng
- Nếu việc chuyển đổi sang đối tượng datetime không thành công thì sẽ không có cách nào để chuyển đổi chúng và phương thức strftime sẽ không thành công
Nếu bạn muốn có ứng dụng tùy chỉnh, dữ liệu được làm sạch hoặc dự án được tạo bằng bảng tính, bạn có thể xem dịch vụ tư vấn của chúng tôi tại đây. https. //www. bảng tình yêu. com