ℹ️ Thông tin. Tệp bó hoặc tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]7 là tệp chứa các lệnh sẽ được thực thi theo thứ tự được chỉ định. Loại tệp này có thể sắp xếp và tự động hóa các tác vụ cần chạy thường xuyên mà không yêu cầu người dùng nhập dữ liệu. Các tệp này có thể được tạo bằng trình soạn thảo văn bản, chẳng hạn như Notepad
Để làm cho nó thú vị hơn, chúng tôi có kịch bản chạy sau
Giám đốc bán hàng của Suppliworks đã yêu cầu bạn tạo và gửi cho anh ấy Báo cáo bán hàng hàng tháng. Tệp này sẽ đến dưới dạng CSV chưa được sắp xếp, chưa được lọc. Bạn sẽ cần lọc tiêu chí này dựa trên tháng hiện tại và lưu dưới dạng tệp Excel vào thư mục làm việc hiện tại
Tải xuống tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8 để theo dõi bài viết của chúng tôi
💬 câu hỏi. Làm thế nào chúng ta sẽ viết mã để tạo và thực thi một tệp bó trong Python?
Chúng ta có thể hoàn thành nhiệm vụ này bằng cách hoàn thành các bước sau
- Cài đặt Tiện ích mở rộng Batch Runner
- Tạo tập lệnh Python
- Tạo tệp
fileimport pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
7 - Hành hình
Cài đặt tiện ích mở rộng Batch Runner
Để chạy/thực thi tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]7, cần cài đặt tiện ích mở rộng trong IDE
Để cài đặt tiện ích mở rộng này, hãy điều hướng đến khu vực IDE,
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]1. Trong VSC IDE, điều này có thể được tìm thấy trên thanh bảng điều khiển bên trái được hiển thị bên dưới
Trong hộp văn bản Tìm kiếm, nhập Batch Runner. Trong khi nhập văn bản này, IDE sẽ tự động tìm kiếm các tiện ích mở rộng phù hợp với tiêu chí đã nhập
Sau khi tìm thấy tiện ích mở rộng mong muốn, hãy nhấp vào nút Cài đặt ở bên trái tiện ích mở rộng Batch Runner để bắt đầu quá trình cài đặt
Khi quá trình cài đặt hoàn tất, nút Cài đặt sẽ chuyển thành biểu tượng Cài đặt. Tiện ích mở rộng hiện đã sẵn sàng để sử dụng
💡 Lưu ý. Vui lòng cài đặt Tiện ích mở rộng hàng loạt mà bạn chọn
Tạo tập lệnh Python
Phần này tạo một tệp Python đọc trong CSV, sắp xếp, lọc và lưu kết quả đầu ra vào tệp Excel
Bạn có thể thay thế tệp này bằng bất kỳ tệp Python nào bạn muốn chạy. Đối với ví dụ này, chúng tôi sẽ cần hai thư viện
- Thư viện
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
2 sẽ cần được cài đặt cho ví dụ này vì mã đọc và lọc tệp CSV - Thư viện
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
0 sẽ cần được cài đặt cho ví dụ này, vì mã xuất Khung dữ liệu đã lọc sang tệp Excel. Để cài đặt thư viện này, hãy điều hướng đến dấu nhắc lệnh của thiết bị đầu cuối IDE. Nhập và chạy đoạn mã hiển thị bên dưới
Để cài đặt các thư viện đó, hãy điều hướng đến dấu nhắc lệnh của thiết bị đầu cuối IDE. Nhập và chạy hai lệnh để cài đặt cả hai thư viện
pip install pandas pip install openpyxl
Trong thư mục làm việc hiện tại, hãy tạo một tệp Python có tên là
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]1. Sao chép và dán đoạn mã dưới đây vào tệp này và lưu nó
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
Ba [3] dòng đầu tiên trong đoạn mã trên nhập tham chiếu đến các thư viện cần thiết để chạy mã này không có lỗi
Dòng sau lấy ngày hiện tại bằng cách sử dụng
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]2từ thư viện
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]3. Kết quả lưu vào biến
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]4. Nếu nội dung được xuất ra thiết bị đầu cuối, màn hình sau
2022-11-08 07:59:00.875656
Dòng tiếp theo khai báo Danh sách chứa các Cột DataFrame để lấy từ tệp CSV và xuất sang tệp Excel. Lưu kết quả vào
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]5
Sau đó, tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8 được mở và các cột được chỉ định trong
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]5 được truy xuất. Kết quả lưu vào DataFrame
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8. Nếu
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8 được xuất ra thiết bị đầu cuối, đoạn mã sau sẽ hiển thị
Năm [5] bản ghi hàng đầu của
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8OrderDateRegionItemUnits011/6/2022EastPencil95111/23/2022CentralBinder50211/9/2022CentralPencil36311/26/2022CentralPen27411/15/2022WestPencil56
Dòng tiếp theo chuyển đổi
2022-11-08 07:59:00.875656
1 thành định dạng Ngày thích hợpOrderDateRegionItemUnits02022-11-06EastPencil9512022-11-23CentralBinder5022022-11-09CentralPencil3632022-11-26CentralPen2742022-11-15WestPencil56Như bạn có thể thấy, DataFrame,
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8, không theo thứ tự sắp xếp nào. Dòng tiếp theo giải quyết vấn đề này bằng cách sắp xếp trên trường
2022-11-08 07:59:00.875656
1 theo thứ tự tăng dần. Kết quả lưu trở lại DataFrame import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8OrderDateRegionItemUnits222022-01-15CentralBinder46232022-02-01CentralBinder87242022-02-18EastBinder4252022-03-07WestBinder7262022-03-24CentralPen Set50
Hai [2] dòng cuối cùng của tập lệnh này lọc DataFrame,
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]8, dựa trên tháng hiện tại. Kết quả lưu vào
2022-11-08 07:59:00.875656
6. Những kết quả này sau đó được xuất sang Excel và được đặt vào thư mục làm việc hiện tạiNếu bạn chạy mã này, bạn sẽ thấy rằng tệp Excel đã lưu các kết quả được lọc phù hợp vào tệp
2022-11-08 07:59:00.875656
7 và đặt tệp này vào thư mục làm việc hiện tạiTuyệt vời. Bây giờ, hãy tạo một tệp
[Batch] để chạy tập lệnh này. import pandas as pd
from datetime import datetime
import openpyxl
today = datetime.now[]
cols = ['OrderDate', 'Region', 'Item', 'Units']
df = pd.read_csv['sales.csv', usecols=cols]
df["OrderDate"] = pd.to_datetime[df["OrderDate"]]
df = df.sort_values[by=['OrderDate']]
df_monthly = df[df['OrderDate'].dt.month == today.month]
df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
7
Tạo tệp hàng loạt
Trong phần này, một tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]7 được tạo để chạy tệp Python
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]1
Trong thư mục làm việc hiện tại, hãy tạo một
tệp có tên là import pandas as pd
from datetime import datetime
import openpyxl
today = datetime.now[]
cols = ['OrderDate', 'Region', 'Item', 'Units']
df = pd.read_csv['sales.csv', usecols=cols]
df["OrderDate"] = pd.to_datetime[df["OrderDate"]]
df = df.sort_values[by=['OrderDate']]
df_monthly = df[df['OrderDate'].dt.month == today.month]
df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
7
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]02. Sao chép và dán đoạn mã dưới đây vào tệp này và lưu nó.
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]0
Dòng đầu tiên của đoạn mã tắt mọi đầu ra cho thiết bị đầu cuối
Dòng sau chỉ định như sau
- Vị trí của tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]
03 trên máy tính của bạn - Vị trí của tập lệnh python để thực thi
Hãy xem nếu điều này hoạt động
💡Lưu ý. Cách tốt nhất là đảm bảo rằng các đường dẫn đầy đủ đến python. exe và bán hàng. tập tin py được thêm vào
Hành hình
Phần này thực thi tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]7, gọi và chạy mã bên trong tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]1
Để chạy tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]7, hãy điều hướng đến IDE và nhấp để chọn tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]02
Nhấn phím
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]08 trên bàn phím để thực hiện
Nếu thành công, tệp
2022-11-08 07:59:00.875656
7 sẽ xuất hiện trong thư mục làm việc hiện tạiBản tóm tắt
Bài viết này đã chỉ cho bạn cách tạo và chạy tệp
import pandas as pd from datetime import datetime import openpyxl today = datetime.now[] cols = ['OrderDate', 'Region', 'Item', 'Units'] df = pd.read_csv['sales.csv', usecols=cols] df["OrderDate"] = pd.to_datetime[df["OrderDate"]] df = df.sort_values[by=['OrderDate']] df_monthly = df[df['OrderDate'].dt.month == today.month] df_monthly.to_excel['monthly_rpt.xlsx', columns=cols, index=False, header=True]70 thực thi tập lệnh Python. Tệp này có thể thực thi một tập lệnh Python đơn giản cũng như một tập lệnh phức tạp