我需要读写从Matlab客户端发送到Raspberry Pi的数据(到CSV文件)。我正在使用python程序,该程序让我得到随机的不可读字符,而不是我通过TCP / IP发送的数字。谁能向我建议如何正确配置我的程序以读取和写入在特定IP地址和端口上发送的任何数据格式?
import csv
import socket
TCP_IP = '192.168.1.8'
TCP_PORT = 47899
BUFFER_SIZE = 20
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(4)
data_rcv=''
conn, addr = s.accept()
with open('mycsv.csv','w') as csvfile:
# csvfile.write(u'\ufeff'.encode('utf8'))
writer = csv.writer(csvfile)
writer.writerow(["Value"])
print 'Connection address:',addr
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
data_rcv += data
with open('mycsv.csv','a') as csvfile:
# csvfile.read(u'\ufeff'.encode('utf8'))
reader = csv.writer(csvfile)
reader.writerow(data_rcv)
conn.close()
您可以执行以下操作:
print 'Connection address:',addr
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
data_rcv += data.decode('utf-8')