Tạo Form Nhập Liệu bằng Python (Pandas và PySimpleGUI) – Python Cơ Bản cho Người làm Văn Phòng

Posted by


Trước khi bắt đầu, bạn cần cài đặt hai thư viện chính là Pandas và PySimpleGUI. Bạn có thể cài đặt chúng bằng cách sử dụng pip, một trình quản lý gói Python. Để cài đặt Pandas, bạn chỉ cần chạy lệnh sau trong terminal:

pip install pandas

Để cài đặt PySimpleGUI, bạn cũng chỉ cần chạy lệnh sau:

pip install PySimpleGUI

Sau khi đã cài đặt xong các thư viện, bạn đã sẵn sàng để tạo một form nhập liệu đơn giản bằng Python sử dụng Pandas và PySimpleGUI.

Bước 1: Import thư viện
Bắt đầu bằng cách import thư viện Pandas và PySimpleGUI vào file Python của bạn:

import pandas as pd
import PySimpleGUI as sg

Bước 2: Tạo form nhập liệu
Tiếp theo, bạn sẽ tạo một form nhập liệu sử dụng PySimpleGUI. Dưới đây là một ví dụ đơn giản với một input field để nhập tên và một nút Submit:

layout = [
    [sg.Text('Nhập tên của bạn:'), sg.InputText(key='name')],
    [sg.Button('Submit')]
]

window = sg.Window('Form Nhập Liệu', layout)

Bước 3: Xử lý sự kiện khi nhấn nút Submit
Sau khi tạo form, bạn cần xử lý sự kiện khi người dùng nhấn nút Submit. Dưới đây là cách để lấy giá trị từ input field và xuất ra màn hình:

event, values = window.read()

if event == 'Submit':
    name = values['name']
    print(f'Tên của bạn là: {name}')

Bước 4: Lưu dữ liệu vào file CSV sử dụng Pandas
Nếu bạn muốn lưu dữ liệu nhập vào form vào một file CSV, bạn có thể sử dụng Pandas để thực hiện điều này. Dưới đây là cách để tạo một DataFrame và lưu nó vào file CSV:

data = {'Tên': [name]}
df = pd.DataFrame(data)
df.to_csv('data.csv', index=False)

Bước 5: Đóng form và kết thúc chương trình
Cuối cùng, bạn cần đóng form và kết thúc chương trình sau khi người dùng đã nhập dữ liệu và nhấn nút Submit:

window.close()

Bạn đã hoàn thành việc tạo một form nhập liệu đơn giản bằng Python sử dụng Pandas và PySimpleGUI. Bạn có thể mở file CSV để kiểm tra xem dữ liệu đã được lưu thành công chưa. Hy vọng rằng hướng dẫn này sẽ giúp bạn hiểu cách tạo form nhập liệu và lưu dữ liệu bằng Python!

0 0 votes
Article Rating
15 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@user-uc9lr7ij1e
3 months ago

anh cho em hỏi, em làm theo như anh hướng dẫn, thì khi gửi đi cho người khác, khi chạy pysimplegui báo yêu cầu licsence key vậy anh

@phucvu8692
3 months ago

rất hay và thiết thực bạn tôi

@phantom198x
3 months ago

bác nói bình thường đi bác, bác cứ nhấn nhá như này nghe hơi oải

@phamngocbao1769
3 months ago

Hay quá anh ạ, anh có thể cho e hỏi, giờ mình muốn so sánh 2 phòng có những ai tên giống nhau thì làm thế nào ạ! Em cảm ơn a!

@ThanhNguyen-he8wy
3 months ago

Em đang tìm học python đang học sử dụng tkinter bây giờ lại thấy vd này. Ad cho e hỏi thư viện pýampleGUI với tkinter có gi khác ko ạ?

@dj_arimakousei
3 months ago

video hữu ích!

@levanphung7820
3 months ago

mong thầy trả lời câu hỏi của em, tại sao append không sài được nữa ạ, và có phương thức nào để thay thế append không ạ

@trandoanvlog466
3 months ago

Viet code nuôi fb da lương đi ban

@sint5999
3 months ago

có bài này nói về kết nối sql server ko anh

@sint5999
3 months ago

Chào anh Pyan em mới bước vào tìm hiểu python nêu chưa biết nhiều, anh cho em hỏi python có thiết kế giao diện giông như winform ko vậy? Ví dụ: từ form main ấn vào button thì mở giao diện form nhân viên (đã thiết kế sẵn) thì phải làm sao? nhờ anh chỉ giáo

@angvanthai3520
3 months ago

Bạn làm ví dụ như này nhưng lưu về google sheet được không?

@MrHoanganhtung
3 months ago

Tks anh đã có hướng dẫn rất bổ ích. E làm đến đoạn code append(value, ignore..) thì không đc, anh có thể hướng dẫn khắc phục chỗ này đc không ạ

@hdungluoi
3 months ago

Phương thức append không còn được pandas hỗ trợ từ phiên bản 1.4 trở lên

@sonletung902
3 months ago

Rất trân trọng phong cách giản dị, chân thật của a, không khoe khoang, không làm màu, người tự học code có thể cảm thấy một người thầy, một người bạn tin cậy để chia sẻ, học hỏi

@user-rz5zy9dk8h
3 months ago

Cho em hỏi là nếu có quá nhiều trường dữ liệu muốn nhập mà giao diện màn hình không đủ thì làm sao ạ, có làm thanh kéo xuống được không a