我正试图将数据保存到一个文件中。我的问题是我保存的文件在第一行和最后一行包含双引号。我试过很多方法来解决这个问题结构更换(),strip,csv到json,pickle。然而,这个问题仍然存在。我被它困住了。请帮帮我。我将在下面详述我的问题。你知道吗
首先,我有一个文件叫做角度.txt就像这样:
{'left_w0': -2.6978887076110842, 'left_w1': -1.3257428944152834, 'left_w2': -1.7533400385498048, 'left_e0': 0.03566505327758789, 'left_e1': 0.6948932961 181641, 'left_s0': -1.1665923878540039, 'left_s1': -0.6726505747192383}
{'left_w0': -2.6967382220214846, 'left_w1': -0.8440729275695802, 'left_w2': -1.7541070289428713, 'left_e0': 0.036048548474121096, 'left_e1': 0.166820410 49194338, 'left_s0': -0.7731263162109375, 'left_s1': -0.7056311616210938}
我从文本文件中逐行读取数据,并将其传输到一个名为data的dict变量。以下是读取文件代码:
def read_data_from_file(file_name):
data = dict()
f = open(file_name, 'r')
for index_line in range(1, number_lines +1):
data[index_line] = eval(f.readline())
f.close()
return data
然后我改变了一些数据。类似于data[index\u line]['left\u w0']=data[index\u line]['left\u w0']+0.0006。之后,我将数据写入另一个文本文件。代码如下:
def write_data_to_file(data, file_name)
f = open(file_name, 'wb')
data_convert = dict()
for index_line in range(1, number_lines):
data_convert[index_line] = repr(data[index_line])
data_convert[index_line] = data_convert[index_line].replace('"','') # I also used strip
json.dump(data_convert[index_line], f)
f.write('\n')
f.close()
我在新文件中收到的结果是:
"{'left_w0': -2.6978887076110842, 'left_w1': -1.3257428944152834, 'left_w2': -1.7533400385498048, 'left_e0': 0.03566505327758789, 'left_e1': 0.6948932961 181641, 'left_s0': -1.1665923878540039, 'left_s1': -0.6726505747192383}"
"{'left_w0': -2.6967382220214846, 'left_w1': -0.8440729275695802, 'left_w2': -1.7541070289428713, 'left_e0': 0.036048548474121096, 'left_e1': 0.166820410 49194338, 'left_s0': -0.7731263162109375, 'left_s1': -0.7056311616210938}"
我无法删除“”。你知道吗
您可以通过删除不必要的转换来简化代码:
相关问题 更多 >
编程相关推荐