>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']8
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']9
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']0
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']1
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']2
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']3
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']4
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']5
Trường hợp sử dụng chính là phân tích giá được trích xuất từ các trang web. Ví dụ: bạn có thể viết bộ chọn CSS/XPath nhắm mục tiêu một phần tử có giá, sau đó sử dụng thư viện này để dọn dẹp nó, thay vì viết mã regex hoặc mã Python tùy chỉnh dành riêng cho trang web
Giấy phép là điều khoản 3 BSD
Cách sử dụng
sử dụng cơ bản
>>> from price_parser import Price >>> price = Price.fromstring["22,90 €"] >>> price Price[amount=Decimal['22.90'], currency='€'] >>> price.amount # numeric price amount Decimal['22.90'] >>> price.currency # currency symbol, as appears in the string '€' >>> price.amount_text # price amount, as appears in the string '22,90' >>> price.amount_float # price amount as float, not Decimal 22.9
Nếu bạn thích, Giá. fromstring có bí danh price_parser. parse_price, họ cũng làm như vậy
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']
Thư viện có nhiều bài kiểm tra [hơn 900 ví dụ thực tế về chuỗi giá]. Một số trường hợp được hỗ trợ được mô tả bên dưới
Các trường hợp được hỗ trợ
Chuỗi giá không rõ ràng với các loại tiền tệ khác nhau được hỗ trợ;
>>> Price.fromstring["Price: $119.00"] Price[amount=Decimal['119.00'], currency='$']____3
>>> Price.fromstring["151,200 تومان"] Price[amount=Decimal['151200'], currency='تومان']
>>> Price.fromstring["Rp 1.550.000"] Price[amount=Decimal['1550000'], currency='Rp']
>>> Price.fromstring["Běžná cena 75 990,00 Kč"] Price[amount=Decimal['75990.00'], currency='Kč']
Dấu hiệu Euro được sử dụng làm dấu phân cách thập phân trong tự nhiên
>>> Price.fromstring["1,235€ 99"] Price[amount=Decimal['1235.99'], currency='€']
>>> Price.fromstring["99 € 95 €"] Price[amount=Decimal['99'], currency='€']
>>> Price.fromstring["35€ 999"] Price[amount=Decimal['35'], currency='€']
Xử lý một số trường hợp đặc biệt
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']0
Khi không thể trích xuất giá hoặc tiền tệ, các giá trị thuộc tính tương ứng được đặt thành Không có
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']1
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']2
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']3
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']4
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']5
gợi ý tiền tệ
đối số currency_hint cho phép truyền một chuỗi văn bản có thể [hoặc không] chứa thông tin tiền tệ. Tính năng này hữu ích nhất cho khai thác giá tự động
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']6
Lưu ý rằng tiền tệ được đề cập trong chuỗi giá chính có thể được ưu tiên hơn tiền tệ được chỉ định trong đối số currency_hint; . Nếu bạn biết loại tiền chính xác, bạn có thể đặt trực tiếp
>>> from price_parser import parse_price >>> parse_price["22,90 €"] Price[amount=Decimal['22.90'], currency='€']7
Phân số thập phân
Nếu bạn biết ký hiệu nào được sử dụng làm dấu tách thập phân trong chuỗi đầu vào, hãy chuyển ký hiệu đó vào đối số bộ phân tách_thập phân để ngăn trình phân tích cú pháp giá đoán sai ký hiệu dấu tách thập phân