Hướng dẫn convert bytes to dataframe python - chuyển đổi byte sang python khung dữ liệu

Tôi muốn chuyển đổi dữ liệu 'byte' thành một khung dữ liệu gấu trúc.

Dữ liệu trông như thế này (một vài dòng đầu tiên):

    (b'#Settlement Date,Settlement Period,CCGT,OIL,COAL,NUCLEAR,WIND,PS,NPSHYD,OCGT'
 b',OTHER,INTFR,INTIRL,INTNED,INTEW,BIOMASS\n2017-01-01,1,7727,0,3815,7404,3'
 b'923,0,944,0,2123,948,296,856,238,\n2017-01-01,2,8338,0,3815,7403,3658,16,'
 b'909,0,2124,998,298,874,288,\n2017-01-01,3,7927,0,3801,7408,3925,0,864,0,2'
 b'122,998,298,816,286,\n2017-01-01,4,6996,0,3803,7407,4393,0,863,0,2122,998'

Các tiêu đề cột xuất hiện ở đầu. Mỗi dòng tiếp theo là một dấu thời gian và số.

Có một cách đơn giản để làm điều này?

Cám ơn rất nhiều

@Paula Livingstone:

Điều này có vẻ hoạt động:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')

Có lẽ điều này có thể được thực hiện mà không cần sử dụng một tệp ở giữa.

Chỉnh sửa: Đã giải quyết! Xem bình luận của tôi cho bài viết này.

Tôi đang cố gắng chuyển đổi byte thành một khung dữ liệu gấu trúc. Tôi đã cố gắng sử dụng mã từ Stack Overflow, nhưng tôi đang gặp lỗi. Tệp của tôi chứa các ngắt dòng được mã hóa là "\ r \ n". Tôi nghĩ rằng điều này có thể khác với bộ mã hóa chuỗi mà tôi hiện đang sử dụng ('UTF-8'). Có ai biết cách chuyển đổi byte thành gấu trúc DataFrame không? Cảm ơn bạn trước sự giúp đỡ và hỗ trợ của bạn!Does anyone know how to convert bytes to a pandas dataframe? Thank you in advance for your help and support!

Tôi đang làm việc thông qua một cuốn sổ Jupyter trên IBM Watson Studio.

Mã sau (và đầu ra) khiến tôi nghĩ rằng tôi đã chuyển đổi thành công một tệp TXT thành "byte".

Mã mã số 1:

readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)

Đầu ra #1:

class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...

Tôi đã đánh cắp mã từ bài đăng Overflow Stack này: https://stackoverflow.com/questions/47379476/how-to-convert-bytes-data-into-a-python-pandas-dataframe

Khối mã số 2:

from io import StringIO
s=str(readrawdata,'utf-8')
data = StringIO(s)
df=pd.read_csv(data)

Đầu ra #2:

----> 7 df=pd.read_csv(data)
EmptyDataError: No columns to parse from file

Mã mã đã sửa #2 (đã giải quyết):

from io import BytesIO
data = BytesIO(readrawdata)
aces = pd.read_csv(data)

Bối cảnh: Tôi đang xây dựng AI poker để học khoa học dữ liệu. Tôi đang ở giữa các công việc trong vài tháng tới. Mục tiêu của tôi là tham gia lại lực lượng lao động như một nhà khoa học dữ liệu. Tôi là 48% thông qua con đường "Nhà khoa học dữ liệu trong Python" trên nhiệm vụ dữ liệu. Phản hồi và lời khuyên nghề nghiệp luôn được chào đón.

Kết quả hàng đầu từ trên web

Python chuyển đổi byte thành CSV - Finxter

Bạn có thể chuyển đổi đối tượng byte thành chuỗi trong ba bước: chuyển đổi đối tượng byte thành chuỗi bằng str () và cắt ...

Đọc thêm>

Python - Chuyển đổi dữ liệu được phân định Byte / Unicode Tab thành tệp CSV thành tệp CSV

Cách tốt nhất để chuyển đổi chuỗi thành byte trong Python 3? 1568 · Làm cách nào để viết dữ liệu JSON vào một tệp? 1004 · ...

Đọc thêm>

Python - Chuyển đổi dữ liệu được phân định Byte / Unicode Tab thành tệp CSV thành tệp CSV

Cách tốt nhất để chuyển đổi chuỗi thành byte trong Python 3? 1568 · Làm cách nào để viết dữ liệu JSON vào một tệp? 1004 · ...

Đọc thêm>

Python - Chuyển đổi dữ liệu được phân định Byte / Unicode Tab thành tệp CSV thành tệp CSV

Cách tốt nhất để chuyển đổi chuỗi thành byte trong Python 3? 1568 · Làm cách nào để viết dữ liệu JSON vào một tệp? 1004 · ...

Đọc thêm>

Python - Chuyển đổi dữ liệu được phân định Byte / Unicode Tab thành tệp CSV thành tệp CSV

Cách tốt nhất để chuyển đổi chuỗi thành byte trong Python 3? 1568 · Làm cách nào để viết dữ liệu JSON vào một tệp? 1004 · ...

Đọc thêm>

Bài trung bình liên quan hàng đầu

Câu hỏi về Stackoverflow liên quan hàng đầu

Khắc phục sự cố mã trực tiếp

Lightrun cho phép các nhà phát triển thêm nhật ký, số liệu và ảnh chụp nhanh vào mã trực tiếp - không cần khởi động lại hoặc triển khai lại.

Bắt đầu miễn phí

Chủ đề Reddit liên quan hàng đầu

Bài đăng hackernoon liên quan hàng đầu

Tweet liên quan đến hàng đầu

Bài viết liên quan đến hàng đầu

Bài đăng Hashnode liên quan hàng đầu

[toc]

Chuyển đổi byte thành chuỗi [Python]

Tổng quan

Báo cáo sự cố: Làm thế nào để chuyển đổi dữ liệu byte thành dữ liệu chuỗi trong python?How to convert bytes data to string data in Python?

Ví dụ: Ví dụ sau minh họa cách phương thức

readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
0 chuyển đổi chuỗi byte thành chuỗi. (Chúng tôi sẽ đi sâu vào các chi tiết của giải pháp này sớm!) The following example illustrates how the
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
0 method converts a byte string to string. (We will dive into the details of this solution soon!)

val_bytes = b"Please keep smiling \xF0\x9F\x98\x83!"
print("Byte String: ", val_bytes)
print("Type of val_bytes: ", type(val_bytes))
val_str = val_bytes.decode('UTF-8')
print("=========================================")
print("String: ", val_str)
print("Type of val_str: ", type(val_str))

Output::

Byte String:  b'Please keep smiling \xf0\x9f\x98\x83!'
Type of val_bytes:  <class 'bytes'>
=========================================
String:  Please keep smiling 😃!
Type of val_str:  <class 'str'>

Lưu ý: Sự khác biệt giữa các đối tượng byte và chuỗi trong Python Difference between Byte and String Objects in Python

  • Chuỗi là trình tự bình thường của các ký tự, trong khi các đối tượng byte có thể được coi là một chuỗi byte.
  • Các chuỗi đại diện cho một giá trị có thể đọc được của con người, trong khi byte được hiểu bởi máy, tức là, chúng là các đối tượng có thể đọc được bằng máy.
  • Các đối tượng byte có thể được lưu trữ trực tiếp trên đĩa, trong khi các đối tượng chuỗi phải được mã hóa trước khi chúng có thể được lưu trữ trong máy.

Bây giờ chúng ta có một ý tưởng về vấn đề trong tay, hãy đi sâu vào những cách khác nhau để giải quyết nó.

Giải pháp 1: Sử dụng Decode ()

Cách tiếp cận đơn giản nhất để chuyển đổi đối tượng byte thành chuỗi là sử dụng phương thức

readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
0.

Quá trình chuyển đổi dữ liệu có thể đọc được của con người thành một định dạng được chỉ định để truyền dữ liệu được bảo mật được gọi là mã hóa. Giải mã ngược lại với mã hóa, tức là, đó là quá trình chuyển đổi thông tin được mã hóa thành văn bản bình thường (dạng có thể đọc được).Decoding is the opposite of encoding,i.e., it is the process that converts the encoded information to normal text (human-readable form).

Trong Python, & nbsp;

  • ________ 22 & nbsp; là một phương pháp sẵn có được sử dụng để mã hóa. Trong trường hợp không có mã hóa được chỉ định, & nbsp; ________ 23 & nbsp; được sử dụng làm mặc định. & Nbsp;
  • ________ 20 & nbsp; là một phương pháp sẵn có được sử dụng để giải mã. & Nbsp;
Hướng dẫn convert bytes to dataframe python - chuyển đổi byte sang python khung dữ liệu

Example:

val_bytes = b"Please keep smiling \xF0\x9F\x98\x83!"
print("Byte String: ", val_bytes)
print("Type of val_bytes: ", type(val_bytes))
val_str = val_bytes.decode('UTF-8')
print("=========================================")
print("String: ", val_str)
print("Type of val_str: ", type(val_str))

Output:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
0

Giải thích: Trong đoạn trích trên, biến

readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
5 là chuỗi byte. Giá trị
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
6 là chuỗi byte tương đương cho Emoji. Để chuyển đổi nó thành định dạng có thể đọc được của con người, tức là để xem biểu tượng cảm xúc thay vì giá trị byte, chúng tôi đã sử dụng phương thức giải mã với mã hóa là 'UTF-8' khi
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
5 và lưu trữ nó dưới dạng chuỗi trong biến
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
8 .
In the above snippet, the variable
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
5 is a byte string. The value
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
6 is the equivalent byte string for the emoji 😃. In order to convert it to a human-readable format, i.e., to see the emoji instead of the byte value, we used the decode method with the encoding as ‘utf-8‘ upon
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
5 and stored it as a string in the variable
readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
8.

Giải pháp 2: Sử dụng str ()

Một cách khác để giải quyết vấn đề của chúng tôi là sử dụng phương pháp

readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
9 tích hợp của Python, chuyển đổi đối tượng X, có thể thuộc loại dữ liệu khác thành một chuỗi.

Hướng dẫn convert bytes to dataframe python - chuyển đổi byte sang python khung dữ liệu

Example:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
1

Output:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
2

Giải thích: Trong giải pháp trên, chúng tôi đã chuyển đổi byte thành giá trị chuỗi bằng phương pháp

class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
0 bằng cách truyền một vài tham số. Tham số đầu tiên là chuỗi byte được lưu trữ trong biến
class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
1 và tham số thứ hai là
class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
2, thông báo cho Python rằng nó phải chuyển đổi chuỗi byte thành một chuỗi đơn giản được mã hóa bằng UTF-8.
In the above solution, we converted the byte to a string value using the
class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
0 method by passing a couple of parameters. The first parameter is the byte string stored in the variable
class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
1 and the second parameter is
class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
2, which informs Python that it has to convert the byte string to a simple string that has been encoded using utf-8.

Giải pháp 3: Sử dụng MAP+Tham gia

Ví dụ: Hãy nói rằng bạn có một tập hợp các giá trị ASCII (byte) được lưu trữ trong danh sách và bạn muốn chuyển đổi chúng thành các tương đương chuỗi tương ứng của chúng. Hãy để xem cách chúng ta có thể làm điều này trong đoạn trích sau đây.Let’s say that you have a set of ASCII values (bytes) stored within a list and you want to convert them to their respective string equivalents. Let’s see how we can do this in the following snippet.

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
3

Output:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
4

Phương thức

class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
3 giúp chúng tôi chuyển đổi các byte tương đương (giá trị ASCII) thành chuỗi/ký tự tương ứng.

  • Hướng dẫn được đề xuất
    • Python map () - Cuối cùng cũng thành thạo chức năng bản đồ Python [+Video]
    • Chuỗi python tham gia ()
    • Python Enumerate () - Hướng dẫn minh họa đơn giản với video

Giải pháp 4: Sử dụng codecs.decode

Phương pháp

readrawdata = streaming_body_1.read()
print(type(readrawdata))
print(readrawdata)
0 của mô -đun Codecs trong Python cũng giúp chúng tôi chuyển đổi chuỗi byte thành chuỗi bình thường. Chỉ cần nhập mô -đun Codecs và sử dụng phương thức
class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
5 để thực hiện chuyển đổi.

Example:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
5

Output:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
0

Cảnh báo mã hóa!

Xin lưu ý rằng có rất nhiều định dạng mã hóa có thể khiến bạn khó khăn trong việc đưa ra tiêu chuẩn giải mã thích hợp. Hãy để một cái nhìn vào ví dụ sau:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
7

Output:

Hướng dẫn convert bytes to dataframe python - chuyển đổi byte sang python khung dữ liệu

Bạn muốn giải quyết vấn đề trên? Vui lòng xem hướng dẫn này: Lỗi mã hóa Python Unicode.Python Unicode Encode Error.

Làm thế nào để dịch các đối tượng của By Bytes thành các chuỗi theo nghĩa đen trong Pandas DataFrame, Python3.x?

Hãy nói rằng chúng ta có một khung dữ liệu gấu trúc trong đó các cột là các chuỗi được biểu thị dưới dạng byte. Vì vậy, làm thế nào bạn sẽ truy cập các yếu tố này là các đối tượng byte?

Solution:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
8

Output:

s=str(bytes_data,'utf-8')

file = open("data.txt","w") 

file.write(s)
df=pd.read_csv('data.txt')
9

Giải thích: Trong giải pháp trên, chúng tôi chỉ cần vectorised & nbsp; ________ 36 & nbsp; để giải mã các chuỗi byte có sẵn trong DataFrame của chúng tôi thành các chuỗi bình thường. In the above solution, we simply vectorised 

class 'bytes'>
b"Game started at: 2016/9/21 15:31:22\r\nGame ID: 732693518 1/2 (PRR) Lakhey (Short) (Hold'em)\r\nSeat 3 is the button\r\nSeat 1: d1rector (37).\r\nSeat 2: 38979 (220.71).\r\nSeat 3: TTABTT (138.88).\r\n ...
6 to decode the available byte strings in our dataframe to normal strings.

Sự kết luận

Chúng tôi đã học được nhiều cách để chuyển đổi một đối tượng byte thành một đối tượng chuỗi trong Python trong bài viết này. Bạn có thể chọn bất kỳ cách tiếp cận nào tùy thuộc vào kịch bản và yêu cầu của bạn. Với điều đó, chúng tôi đi đến cuối cuộc thảo luận của chúng tôi, và tôi hy vọng nó sẽ giúp bạn. Xin vui lòng & nbsp; đăng ký & nbsp; và & nbsp; hãy theo dõi & nbsp; cho các bài viết thú vị hơn trong tương lai.

Mã hóa hạnh phúc!


Học viện Khoa học Máy tính Finxter

  • Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là & nbsp; craping web. Đừng nhầm lẫn: & nbsp; trích xuất dữ liệu theo chương trình từ các trang web & nbsp; là một kỹ năng sống quan trọng trong thế giới ngày nay mà được định hình bởi web và công việc từ xa.web scraping. Make no mistake: extracting data programmatically from websites is a critical life skill in today’s world that’s shaped by the web and remote work.
  • Vì vậy, bạn có muốn làm chủ nghệ thuật quét web bằng cách sử dụng Python xông xinh đẹp không?
  • Nếu câu trả lời là có - khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về việc cạo web.

Hướng dẫn convert bytes to dataframe python - chuyển đổi byte sang python khung dữ liệu

Tôi là một blogger Python chuyên nghiệp và người tạo nội dung. Tôi đã xuất bản nhiều bài báo và tạo ra các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc như một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Mạng.

Bạn có thể liên lạc với tôi @:

Upwork LinkedIn
LinkedIn

Byte () làm gì trong Python?

Hàm python byte () hàm byte () trả về đối tượng byte.Nó có thể chuyển đổi các đối tượng thành các đối tượng byte hoặc tạo đối tượng byte trống của kích thước được chỉ định.returns a bytes object. It can convert objects into bytes objects, or create empty bytes object of the specified size.

Làm thế nào để bạn chuyển đổi byte thành văn bản bằng python?

Các cách khác nhau để chuyển đổi byte thành chuỗi trong Python:..
Sử dụng phương thức decode () ..
Sử dụng hàm str () ..
Sử dụng codec.Phương thức giải mã () ..
Sử dụng map () mà không sử dụng tiền tố B ..
Sử dụng gấu trúc để chuyển đổi byte thành chuỗi ..

Làm thế nào để bạn chuyển đổi byte thành các số trong Python?

Cú pháp: int.from_bytes (byte, byteorder, *, đã ký = false).
Parameters:.
Trả về - một int tương đương với byte đã cho ..

Làm cách nào để chuyển đổi chuỗi thành DataFrame trong Python?

Phương pháp 1: Tạo gấu trúc DataFrame từ một chuỗi bằng StringIO () Một cách để đạt được điều này là bằng cách sử dụng hàm StringIO ().Nó sẽ hoạt động như một trình bao bọc và nó sẽ giúp chúng tôi đọc dữ liệu bằng PD.hàm read_csv ().Create Pandas DataFrame from a string using StringIO() One way to achieve this is by using the StringIO() function. It will act as a wrapper and it will help us to read the data using the pd. read_csv() function.