-2
我想將我的數據保存到文件中。我的問題是我保存的文件在第一行和最後一行包含雙引號。我嘗試了很多方法來解決它從str.replace(),strip,csv到json,pickle。但是,問題仍然存在。我陷入了困境。請幫幫我。我會在下面詳細說明我的問題。保存沒有第一個和最後一個雙引號的文件
首先,我有一個名爲angles.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}
我從文本文件中,並轉移到被稱爲數據的字典可變的讀取一行一行。這裏是讀取文件代碼:
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_line] ['left_w0'] = data [index_line] ['left_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}"
我不能刪除「」。