Python Với Excel - Xử Lý File (tập Tin) đóng

Giải Pháp Excel
  • Trang chủ Có gì mới Hoạt động gần nhất Tác giả
  • Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
  • Video New Video về Excel Video về tin học khác Tin tức về tin học chung
  • Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
  • Tài nguyên Đánh giá mới nhất Tìm tài nguyên
  • Facebook
  • Đóng góp
Đăng nhập Đăng Ký Có gì mới? Tìm kiếm

Tìm kiếm

Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Bởi: Tìm kiếm Tìm nâng cao…
  • Tìm bài viết mới
  • Tìm theo chuyên mục
Menu Đăng nhập Đăng Ký Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Python với Excel - Xử lý file (tập tin) đóng (1 người xem)
  • Thread starter Thread starter befaint
  • Ngày gửi Ngày gửi 11/5/19
Liên hệ QC

Người dùng đang xem chủ đề này

Đang trực tuyến: 2 (Thành viên: 0, Khách: 2) befaint

befaint

|||||||||||||
Tham gia 6/1/11 Bài viết 14,600 Được thích 19,840 Ứng dụng Python trong việc xử lý dữ liệu Excel với file đóng (tức là không cần mở file lên để xử lý): Như đọc, ghi dữ liệu trên Range, thay đổi cấu trúc bảng (chèn, xóa dòng/ cột...). Nhân tiện chủ đề này Chèn cột để đồng nhất cơ sở dữ liệu nên sẽ đăng bài xử lý về cấu trúc trước, cơ bản gọi là ghi dữ liệu vào file đóng. 1. Các thứ cần chuẩn bị Theo hướng dẫn ở bài này: Python với Excel - Mở đầu và cài đặt thư viện 2. Code Mượn các files ở Chèn cột để đồng nhất cơ sở dữ liệu, code viết cụ thể cho yêu cầu tại chủ đề đó. Python: Sao chép. import time, os from openpyxl import load_workbook excel_extension = ".xlsx" def get_excel_files(excel_ext): """ return list of full path of Excel files """ excel_files = [] top_path = os.path.dirname(os.path.abspath(__file__)) for file in os.listdir(top_path): if file.endswith(excel_ext): excel_files.append(os.path.join(top_path, file)) return excel_files def inset_columns(file_name): wb = load_workbook(file_name) ws = wb.active # activesheet y = str(ws['C7'].value) # get value of cell [C7] try: yy = abs(int(eval(y))) - 2014 except: yy = 0 # insert columns if yy > 0 and yy < 5: ws.insert_cols(3, yy) # write year into range ['C7:G7'] for i in range(3, 8): ws.cell(row = 7, column = i, value = 2014 + i - 3) wb.save(file_name) # run time_start = time.time() for excelfile in get_excel_files(excel_extension): inset_columns(excelfile) print(time.time() - time_start) *** Tải file Python insert_columns.zip ở dưới, giải nén.. Trong thư mục Python insert_columns mở file insert_columns.py bằng IDLE Python rồi nhấn phím F5 để chạy code. Chạy tẹo là xong.. 216874

File đính kèm

  • Python insert_columns.zip Python insert_columns.zip 56.4 KB · Đọc: 61
Lần chỉnh sửa cuối: 22/5/19 Sắp xếp theo thời gian sắp xếp theo bầu chọn Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam Mạnh chưa hiểu bài này lắm ... nếu máy mạnh ko cài python thì chạy code sao đây ??? Mong chỉ dùm ... khi nào rảnh vọc chút ... biết đâu 1 ngày không xa lắm biết thêm code python Cảm ơn Upvote 0 befaint

befaint

|||||||||||||
Tham gia 6/1/11 Bài viết 14,600 Được thích 19,840
kieu manh đã viết: Mạnh chưa hiểu bài này lắm ... nếu máy mạnh ko cài python thì chạy code sao đây ??? Mong chỉ dùm ... khi nào rảnh vọc chút ... biết đâu 1 ngày không xa lắm biết thêm code python Cảm ơn Nhấp chuột vào đây để mở rộng...
Mọi thứ xử lý bên Python nên anh cần cài đặt Python vào máy tính rồi chạy file *.py. Python hoàn toàn miễn phí, dung lượng lại nhỏ gọn nữa.. Upvote 0 N

ngocleasing

Thành viên hoạt động
Tham gia 17/10/08 Bài viết 102 Được thích 5
befaint đã viết: Ứng dụng Python trong việc xử lý dữ liệu Excel với file đóng (tức là không cần mở file lên để xử lý): Như đọc, ghi dữ liệu trên Range, thay đổi cấu trúc bảng (chèn, xóa dòng/ cột...). Nhân tiện chủ đề này Chèn cột để đồng nhất cơ sở dữ liệu nên sẽ đăng bài xử lý về cấu trúc trước, cơ bản gọi là ghi dữ liệu vào file đóng. 1. Các thứ cần chuẩn bị Theo hướng dẫn ở bài này: www.giaiphapexcel.com

Python với Excel - Xuất dữ liệu JSON vào Excel

* Hôm lâu lâu có lướt qua trang chủ thấy bài viết nổi bật này: Import chuỗi JSON vào Excel (1) Mình cũng thử góp thêm một cách sử dụng Python. Xem bài viết Python với Excel - Mở đầu và cài đặt thư viện để cài đặt Python và thư viện cần thiết. Nội dung bài này: Xuất dữ liệu JSON (dạng file đã... www.giaiphapexcel.com www.giaiphapexcel.com 2. Code Mượn các files ở Chèn cột để đồng nhất cơ sở dữ liệu, code viết cụ thể cho yêu cầu tại chủ đề đó. Python: Sao chép. import time, os from openpyxl import load_workbook excel_extension = ".xlsx" def get_excel_files(excel_ext): """ return list of full path of Excel files """ excel_files = [] top_path = os.path.dirname(os.path.abspath(__file__)) for file in os.listdir(top_path): if file.endswith(excel_ext): excel_files.append(os.path.join(top_path, file)) return excel_files def inset_columns(file_name): wb = load_workbook(file_name) ws = wb.active # activesheet y = str(ws['C7'].value) # get value of cell [C7] try: yy = abs(int(eval(y))) - 2014 except: yy = 0 # insert columns if yy > 0 and yy < 5: ws.insert_cols(3, yy) # write year into range ['C7:G7'] for i in range(3, 8): ws.cell(row = 7, column = i, value = 2014 + i - 3) wb.save(file_name) # run time_start = time.time() for excelfile in get_excel_files(excel_extension): inset_columns(excelfile) print(time.time() - time_start) *** Tải file Python insert_columns.zip ở dưới, giải nén.. Trong thư mục Python insert_columns mở file insert_columns.py bằng IDLE Python rồi nhấn phím F5 để chạy code. Chạy tẹo là xong.. View attachment 216874 Nhấp chuột vào đây để mở rộng...
Em cảm ơn bác rất nhiều ạ, Chúc bác gặp nhiều điều may mắn trong cuộc sống Nếu các năm nằm ở dòng 10 chẳng hạn thì thay row=7 bang row=10 và C7:G7 thay bang C10:G10 và C7 thay bang C10 phải không ạ Upvote 0 Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam
befaint đã viết: Mọi thứ xử lý bên Python nên anh cần cài đặt Python vào máy tính rồi chạy file *.py. Python hoàn toàn miễn phí, dung lượng lại nhỏ gọn nữa.. Nhấp chuột vào đây để mở rộng...
Mạnh đọc code Python bài 1 bắt đầu hình dung ra rồi đó ... mai mốt cài Python khi nào rảnh quậy coi sao ...... Mạnh đề nghị vầy coi có được ko nhé ... chỉ cho mạnh học với he còn ai thích thì tham gia cho vui 1/ Viết cho Mạnh xin 1 vài code mẫu đơn giản nhất VD như : 1 +1 = 2 ấy ??? để mạnh hình dung ra code và làm quen nhập môn Python !!! - 1 code về mảng - 1 code Range - 1 code về sự kiện - 1 code về ADO (Lấy dữ liệu lên + Ghi dữ liệu xuống) - 1 code lấy dữ liệu File đóng cho vào mảng xong tính toán trên Mảng xong gán kết quả xuống Sheet - 1 Code dictionary - 1 code cách viết hàm sử dụng trên Cells - + nhiều nhiều chút ??? 2/ Python có viết được File *.DLL như Dephi hay ko ... xong làm thủ tục gọi hàm từ Excel được hay ko (DLL đó có phải đăng ký với Windows hay chỉ copy qua bất kỳ máy nào chạy cũng ok ??? 3/ Có viết được Form trong DLL hay ko xong làm thủ tục keo nó từ Excel 4/ Quá trình Mạnh học phát Sinh khó khăn gì mong @befaint hổ trợ chỉ cho mạnh với Xin cảm ơn mà Mạnh cảm giác thấy học code Delphi nó dễ hơn code Python hay sao ý ??!! Upvote 0 V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,790 Nghề nghiệp Thầy bói bài ta
kieu manh đã viết: ... mà Mạnh cảm giác thấy học code Delphi nó dễ hơn code Python hay sao ý ??!! Nhấp chuột vào đây để mở rộng...
"cảm giác" là vấn đề chủ quan. Khách quan mà nói thì Python học dễ hơn hầu hết các ngôn ngữ khác. Hầu hết các vấn đề cần thiết đều đã được cộng đồng Python viết sẵn ra rồi, và cho vào thư viện (library) Cái khó là biết cách tìm trên mạng để mò ra được cái thư viện chứa vấn đề của mình. Điển hình là code ở bài chủ (bài #1) đã dùng hàm của thư viện os để đọc file system và hàm của openpyxl để làm việc với file Excel. Upvote 0 T

tam888

Thành viên tích cực
Tham gia 22/8/13 Bài viết 838 Được thích 510 NHƯNG
Python với Excel - Xử lý file (tập tin) đóng Nhấp chuột vào đây để mở rộng...
Tập tin ĐÓNG thì đáng nghi ngờ nhất, và là điều không thể với mọi ngôn ngữ, code Nên ở diễn đàn này vẫn có sự hiểu nhầm là "file đóng" Upvote 0 Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam
tam888 đã viết: NHƯNG Tập tin ĐÓNG thì đáng nghi ngờ nhất, và là điều không thể với mọi ngôn ngữ, code Nên ở diễn đàn này vẫn có sự hiểu nhầm là "file đóng" Nhấp chuột vào đây để mở rộng...
Mạnh có nghe đâu đó trên Internet hắn nói 1/ Code ADO lấy dữ liệu file đang đóng là tại mình ko thấy nó mở nên keo vậy chứ thực ra nó mở Ngầm đâu đó trên máy Tính ?? 2/ Còn code thuần DAO thì nó đóng thật hay sao ý Hên thì Mạnh nói trúng .... Sai thì Next he .....hahahahaha Upvote 0 T

tam888

Thành viên tích cực
Tham gia 22/8/13 Bài viết 838 Được thích 510
kieu manh đã viết: Mạnh có nghe đâu đó trên Internet hắn nói 1/ Code ADO lấy dữ liệu file đang đóng là tại mình ko thấy nó mở nên keo vậy chứ thực ra nó mở Ngầm đâu đó trên máy Tính ?? 2/ Còn code thuần DAO thì nó đóng thật hay sao ý Hên thì Mạnh nói trúng .... Sai thì Next he .....hahahahaha Nhấp chuột vào đây để mở rộng...
Kiểu gì cũng connection, rồi có cả Cnn.Open hay OpenDatabase (ghi rõ luôn vậy ở cả ADO, DAO...) Nên File đóng thì không thể lấy đọc dữ liệu từ file Upvote 0 befaint

befaint

|||||||||||||
Tham gia 6/1/11 Bài viết 14,600 Được thích 19,840
kieu manh đã viết: Mạnh đề nghị Nhấp chuột vào đây để mở rộng...
Mục 1 thì anh cần đọc từ lý thuyết cơ bản abc trước. Cũng bắt đầu từ kiểu dữ liệu, biến... Kiểu dữ liệu trong Python có nhiều cái hay ho như tuple, list, dict.. vụ này hơn hẳn array trong VBA (em thấy vậy). Tạo class thì rất đơn giản.. Còn sau áp dụng làm gì thì tìm đọc cụ thể môi trường đó. Cụ thể với Excel thì tìm các thư viện hỗ trợ và đọc docs của nó. Ví dụ cụ thể công cụ tương ứng Dictionary trong VBA thì Python lấy dữ liệu của range rồi dùng Python set để chuyển nó về dạng Hashable rồi dò rất tiện.. Mục 2 và 3, anh có thể tham khảo thư viện xlwings. Thư viện này rất hay ấy.. Việc tạo *.dll anh tham khảo cách họ làm cho cái xlwings kia luôn. Nếu rành rồi thì mình tự tạo thư viện như họ :) Em cũng mới đọc Python thôi. Upvote 0 V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,790 Nghề nghiệp Thầy bói bài ta
kieu manh đã viết: ... 1/ Code ADO lấy dữ liệu file đang đóng là tại mình ko thấy nó mở nên keo vậy chứ thực ra nó mở Ngầm đâu đó trên máy Tính ?? 2/ Còn code thuần DAO thì nó đóng thật hay sao ý ... Nhấp chuột vào đây để mở rộng...
Tuỳ theo bạn định nghĩ từ "mở" và "đóng" Theo nghĩa chính thức (tổng quát) thì phải "mở" file mới đọc được nó. Trừ phi bạn dùng phần mềm đặc biệt có khả năng load cả cụm ký tự binary (nhị phân) vào nó rồi tự parse lấy. Theo định nghĩa ở ngữ cảnh diễn đàn GPE thì làm việc trên file đóng có nghĩa là code của bạn không trực tiếp "mở" file ấy. ADO hay DAO nó có "mở" hay không là chuyện của nó. Điểm này rất quan trọng trong lập trình hướng đối tượng. Khi sử dụng đối tượng, code VBA của bạn chỉ cần biết cái giao diện. ADO là một đối tượng chuyên làm việc với dữ liệu. Code VBA của bạn chỉ cần biết cái giao diện lấy/ghi dữ liệu (tức là cái protocol/lệ luật như kết nối, sql, và recordset). Việc nó mở file Excel bằng cách nào code VBA của bạn không cần biết tới. Chú: thực ra code bài #1 có rõ rệt là dùng hàm load_workbook và hàm này trả về một đối tượng. Tôi không biết thư viện openpyxl cho nên không rõ đối tượng ấy có phải là workbook hay là cái bóng (shaddow) của workbook (ví dụ được đọc ở dạng xml?). Nếu là workbook thì trên nguyên tắc, file có được mở trực tiếp. Nếu là cái bóng thì rất có thể nó không mở trực tiếp; chỉ update vào lúc save thôi. Lần chỉnh sửa cuối: 11/5/19 Upvote 0 Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây.

Bài viết mới nhất

T Nhờ các Pro giúp thiết lập bảng excel
  • thanhkybk
  • Hôm qua, lúc 17:53
  • Hàm và công thức Excel
Trả lời 4 Đọc 138 Hôm nay lúc 15:03 thanhkybk T D
  • Question Question
Tách dòng tự động theo điều kiện bằng VBA
    • Cười
  • duongnhuxuyen
  • 12/12/25
  • Lập Trình với Excel
Trả lời 20 Đọc 677 Hôm nay lúc 10:32 ptm0412 ptm0412 Q Nhờ các anh chị giúp cho công thức đếm số khách hàng theo File đính kèm
  • QUANSUNG
  • Hôm qua, lúc 10:15
  • Hướng dẫn sử dụng các hàm trong Excel
Trả lời 6 Đọc 159 Hôm qua, lúc 23:02 Cúc Hr C SA_DQ Copilot bình luận các ván cờ vua từng ngày.
    • Thích
  • SA_DQ
  • 3/11/25
  • Chia sẻ
Trả lời 17 Đọc 794 Hôm qua, lúc 20:38 SA_DQ SA_DQ D Công thức tính thuế TNCN cho người lao động nước ngoài
  • Dinh Hong Nhung
  • Hôm qua, lúc 10:04
  • Hàm và công thức Excel
Trả lời 1 Đọc 129 Hôm qua, lúc 15:05 Phan Thế Hiệp Phan Thế Hiệp D Công thức tính thuế thu nhập cá nhân mới nhất theo mức 5 bậc
  • Dinh Hong Nhung
  • 11/12/25
  • Hàm và công thức Excel
Trả lời 16 Đọc 2K Hôm qua, lúc 13:55 dungpham01 D hanhlx88 Nhờ các cao nhân chỉ giúp file excel quá nặng. không không biết nguyên nhân
  • hanhlx88
  • Hôm qua, lúc 13:02
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 0 Đọc 65 Hôm qua, lúc 13:02 hanhlx88 hanhlx88 L [Nhờ giúp đỡ] Tìm khoảng thời gian bị gối, hoặc trùng nhau (1 người xem)
  • Lá chanh
  • Thứ sáu lúc 00:53
  • Hàm và công thức Excel
Trả lời 8 Đọc 196 Hôm qua, lúc 05:36 lamvankhoat1 L B Tính 1 đồng Doanh thu thuần mang về thì còn lại được bao nhiêu đồng EBITDA
  • Bobby52
  • Thứ bảy lúc 16:18
  • Hàm và công thức Excel
Trả lời 0 Đọc 86 Thứ bảy lúc 16:18 Bobby52 B PhanTuHuong Bán sách Excel nâng cao để ủng hộ đồng bào bão lũ năm 2025!
    • Yêu thích
  • PhanTuHuong
  • 10/12/25
  • Câu lạc bộ hoạt động xã hội
Trả lời 6 Đọc 511 Thứ năm lúc 23:12 PhanTuHuong PhanTuHuong A Có cách nào điều chỉnh cho tên Sheet lớn ra
    • Cười
  • AnhThu-1976
  • Thứ tư lúc 16:37
  • Những vấn đề chung
Trả lời 8 Đọc 276 Thứ năm lúc 17:22 SA_DQ SA_DQ T Xin hỏi cách để lọc dữ liệu ngày tháng của nhiều sheet (2 người xem)
  • TatLap
  • Thứ năm lúc 09:39
  • Lọc và sắp xếp dữ liệu
Trả lời 6 Đọc 181 Thứ năm lúc 13:35 TatLap T K xin file excel bảng đấu bóng đá (3 người xem)
    • Yêu thích
  • kenshithanh
  • 1/4/15
  • Chơi Game với Excel
Trả lời 48 Đọc 30K Thứ tư lúc 18:18 SA_DQ SA_DQ PhanTuHuong Nếu diễn đàn GPE đóng cửa?
    • Thích
    • Yêu thích
  • PhanTuHuong
  • 14/12/25
  • Thư giãn
Trả lời 26 Đọc 1K Thứ tư lúc 17:29 TH280861 T PhanTuHuong Miền Tây mùa nước nổi
    • Thích
    • Ngạc nhiên
  • PhanTuHuong
  • 5/10/20
  • Thư giãn
Trả lời 31 Đọc 3K Thứ tư lúc 14:45 SA_DQ SA_DQ T Lọc dự liệu với hai điều kiện
  • tiny1010
  • 16/3/10
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 20 Đọc 7K Thứ tư lúc 13:23 dungpham01 D ongke0711
  • Question Question
Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba (2 người xem)
    • Thích
    • Yêu thích
    • Cảm ơn
  • ongke0711
  • 6/10/24
  • Lập Trình với Excel
4 5 6 Trả lời 584 Đọc 84K Thứ tư lúc 09:39 tuanktt3 T P Lỗi hàm VBA phải add-in sau mỗi lần mở file
  • phamdinh.huy.aladin@gmail
  • 15/12/25
  • Hàm và công thức Excel
Trả lời 8 Đọc 387 Thứ tư lúc 08:07 phamdinh.huy.aladin@gmail P huevantran Xin chỉ giúp sự khác nhau giữa giá trị trong ô A3 và A4 là gì
  • huevantran
  • 22/12/25
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 7 Đọc 222 23/12/25 dungpham01 D K Các nút Buttom, Combobox, Textbox bị thay đổi kích thước ...
  • kaoehtkid
  • 15/12/25
  • Những vấn đề chung
Trả lời 15 Đọc 484 23/12/25 ongke0711 ongke0711 Xem thêm… Chia sẻ: Facebook X Bluesky LinkedIn Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link

Thành viên có số lượng bài viết cao nhất tháng

  • Maika8008 48
  • dungpham01 26
  • thanthanhan 24
  • ongke0711 23
  • ptm0412 20
  • Phan Thế Hiệp 18
  • eagle12 16
  • nguyenanhtruong2409 16
  • pycckuu410 13
  • HUONGHCKT 12
  • vic_it 11
  • Gà Con yêu VBA 11
  • nhhnam 10
  • dieppk.nb92 10
  • Vũ Hải Sơn 9
  • HeSanbi 9
  • SA_DQ 9
  • duongnhuxuyen 9
  • le_vis 8
  • bsbnhh 7

Thành viên có điểm tương tác cao nhất tháng

  • Phan Thế Hiệp 100
  • Maika8008 41
  • ptm0412 25
  • thanthanhan 20
  • ongke0711 20
  • HeSanbi 17
  • dungpham01 15
  • Cúc Hr 11
  • HUONGHCKT 9
  • eagle12 9
  • SA_DQ 9
  • Phuocam 6
  • pycckuu410 6
  • dieppk.nb92 6
  • Gà Con yêu VBA 6
  • Mr.hieudoanxd 5
  • befaint 5
  • Hoàng Tuấn 868 4
  • nguyenanhtruong2409 4
  • HieuCD 3

Thời gian đếm ngược.

000 Ngày 00 Giờ 00 phút 00 giây Thân mời tham dự sự kiện sinh nhật GPE 2025
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
  • Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Back Top Bottom

Từ khóa » đọc File Excel Trong Python