通过TCP / IP读取ASCII数据并将其写入CSV文件

问题描述 投票:0回答:1

我需要读写从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()
python csv raspberry-pi3 simulink volttron
1个回答
0
投票

您可以执行以下操作:

print 'Connection address:',addr
while 1:
    data = conn.recv(BUFFER_SIZE)
    if not data: break
    data_rcv += data.decode('utf-8')
© www.soinside.com 2019 - 2024. All rights reserved.