Hướng dẫn remove u from dict python - xóa bạn khỏi dict python

Làm cách nào để loại bỏ u ký tự khỏi từ điển sau?u chars from the following dictionary?

{u'name': u'A', u'primary_key': 1}  

Dữ liệu này đến từ truy vấn Mongo Database find ()find() query

Vì vậy, nó trông giống như

{'name': 'A', 'primary_key': 1}

Đã hỏi ngày 12 tháng 11 năm 2011 lúc 0:56Nov 12, 2011 at 0:56

Hướng dẫn remove u from dict python - xóa bạn khỏi dict python

Daydreamerdaydreamerdaydreamer

83.1K180 Huy hiệu vàng434 Huy hiệu bạc702 Huy hiệu đồng180 gold badges434 silver badges702 bronze badges

5

Các ký tự u mà bạn đang thấy đơn giản có nghĩa là chúng là chuỗi Unicode.

Nếu bạn không muốn chúng trở thành Unicode, bạn có thể mã hóa chúng như một thứ khác, chẳng hạn như ASCII.

>>> s = u'hi!'
>>> s
u'hi'

>>> s2 = s.encode('ascii')
>>> s2
'hi'

Đã trả lời ngày 12 tháng 11 năm 2011 lúc 1:00Nov 12, 2011 at 1:00

David Alberdavid AlberDavid Alber

17.1k6 Huy hiệu vàng64 Huy hiệu bạc70 Huy hiệu đồng6 gold badges64 silver badges70 bronze badges

0

Nếu bạn chỉ muốn chuyển đổi Dict thành chuỗi dữ liệu JSON, bạn có thể làm:

>>> from bson.json_util import dumps
>>> data = {u'name': u'A', u'primary_key': 1}
>>> dumps(data)
'{"name": "A", "primary_key": 1}'

Đã trả lời ngày 22 tháng 12 năm 2016 lúc 9:16Dec 22, 2016 at 9:16

Bạn cần để PSYCOPG2 mã hóa các chuỗi của mình, không cố gắng chèn các chuỗi python-syntax vào các truy vấn của bạn RAW-bạn đang đặt mình có nguy cơ xảy ra sự cố tiêm SQL nếu một số chuỗi chứa các ký tự mà SQL sẽ giải thích khi kết thúc chuỗi. Bạn nên chuyển các tham số cho psycopg2 như thế này:

cursor.execute('INSERT INTO person (name, town) VALUES (%s %s)', (name, town))

Bởi vì PsyCOPG2 biết rằng cú pháp SQL rất, rất tốt, nó sẽ rời khỏi các ký tự ____99 vì nó nhận được chuỗi

{'name': 'A', 'primary_key': 1}
1 và
{'name': 'A', 'primary_key': 1}
2 của bạn và thoát khỏi chúng theo cách chính xác mà câu lệnh SQL này cần.

Đã trả lời ngày 12 tháng 11 năm 2011 lúc 1:29Nov 12, 2011 at 1:29

Brandon Rhodesbrandon RhodesBrandon Rhodes

79.3K16 Huy hiệu vàng105 Huy hiệu bạc142 Huy hiệu đồng16 gold badges105 silver badges142 bronze badges

Như Sven đã đề cập trong nhận xét của mình, u là một dấu hiệu của các loại được thể hiện trong MongoDB (thực ra là vì JSON được xác định là sử dụng Unicode).

Thực tế này phải hoàn toàn minh bạch đối với bạn, trên thực tế, bạn có thể sử dụng các giá trị

{'name': 'A', 'primary_key': 1}
4 và
{'name': 'A', 'primary_key': 1}
5 có thể thay thế cho nhau trong các dicts.

>>> 'foo' in {u'foo': 5}
True
>>> {u'foo': 5}['foo']
5
>>> 

Đã trả lời ngày 12 tháng 11 năm 2011 lúc 1:02Nov 12, 2011 at 1:02

Bạn không thể đơn giản loại bỏ U khỏi các chuỗi, vì nó tượng trưng cho các chuỗi nằm trong Unicode.

Một giải pháp là sử dụng chức năng mã hóa:

old_strings = {u'name':u'A', u'primary_key':1}
newstrings = {}
for k in old_strings.keys():
    newtsrings[k] = old_strings[k].encode('ascii','ignore')

Điều này sẽ chỉ bỏ qua các ký tự không phải ASCII.

Đã trả lời ngày 12 tháng 11 năm 2011 lúc 1:03Nov 12, 2011 at 1:03

StellaratorstellaratorStellarator

4412 Huy hiệu bạc8 Huy hiệu đồng2 silver badges8 bronze badges

Tương tự như những gì đã được đăng, nhưng sử dụng thư viện JSON.

>>> import json
>>> udata = {u'name': u'A', u'primary_key': 1}
>>> json.dumps(udata)
'{"name": "A", "primary_key": 1}'

Đã trả lời ngày 4 tháng 2 năm 2020 lúc 12:14Feb 4, 2020 at 12:14

Hướng dẫn remove u from dict python - xóa bạn khỏi dict python

MHCKMHCKmhck

7011 Huy hiệu vàng9 Huy hiệu bạc18 Huy hiệu đồng1 gold badge9 silver badges18 bronze badges

Làm thế nào để tôi thoát khỏi bạn trong Python?

Sử dụng Phương thức ENCODE () và DECODE () Bạn có thể sử dụng Phương thức ENCOD () của String với mã hóa dưới dạng ASCII và lỗi khi bỏ qua để xóa Unicode "U" khỏi chuỗi trong Python.Đó là tất cả về cách xóa các ký tự Unicode khỏi chuỗi trong Python. You can use String's encode() method with encoding as ascii and error as ignore to remove unicode "u" from String in python. That's all about how to remove unicode characters from String in Python.

Bạn là gì trong chuỗi python?

'U' phía trước chuỗi có nghĩa là chuỗi là chuỗi unicode.Unicode là một cách để một chuỗi thể hiện nhiều ký tự hơn một chuỗi ASCII thông thường có thể.Trong Python 2. X, một chuỗi unicode được đánh dấu bằng 'u'.the string is a Unicode string. A Unicode is a way for a string to represent more characters than a regular ASCII string can. In Python 2. x, a Unicode string is marked with 'u'.

Làm thế nào để bạn dừng lỗi Unicode trong Python?

Chỉ có một số lượng hạn chế các ký tự Unicode được ánh xạ tới các chuỗi.Do đó, bất kỳ ký tự nào không được đại diện / ánh xạ sẽ khiến việc mã hóa thất bại và tăng UnicodeEncodeError.Để tránh lỗi này, hãy sử dụng các hàm mã hóa (UTF-8) và giải mã (UTF-8) phù hợp trong mã của bạn.use the encode( utf-8 ) and decode( utf-8 ) functions accordingly in your code.

Python có hỗ trợ Unicode không?

Loại chuỗi của Python sử dụng tiêu chuẩn Unicode để biểu diễn các ký tự, cho phép các chương trình Python hoạt động với tất cả các ký tự có thể khác nhau này., which lets Python programs work with all these different possible characters.