我花了幾個小時盯著這個,我無法弄清楚。我敢肯定這是基本的,但如果你能幫助我,那就太好了。我有一個名為“export_data”的列表,其中包含其他列表和整數(shù)。例如。print(type(export_data[0]))print(type(export_data[5]))#Output is: <class 'list'><class 'int'>然后我將“export_data”寫入 csv 文件。但是,當(dāng)我隨后讀取文件并提取列值時,它會以字符串的形式返回。所以現(xiàn)在我有一個“[1,2,3]”,我不確定如何轉(zhuǎn)換回列表。with open('record ' + str(current) + '.csv', 'a', newline='') as f: writer = csv.writer(f) writer.writerow(export_data) del writer f.close()with open('record Wednesday,Apr:29.csv', 'r') as rf: reader = csv.reader(rf) for i in reader: (group_a.append(i[1])) (x.append(i[0])) (hr.append(i[5]))print(type(export_data[0]))print(type(export_data[5]))#Output: <class 'str'><class 'str'>我正在使用 csv 文件中的數(shù)據(jù)在 DASH 中使用 plotly 繪制數(shù)據(jù)。因此,我無法為我的 x 和 y 值輸入列表。謝謝你的幫助。
1 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗 獲得超10個贊
要將 "[1,2,3]" 轉(zhuǎn)換回列表,請使用 Patrick Artner 提到的 eval() 或 ast.literal_eval (注意:eval 不是一個好的做法,也不安全,請參閱評論。我仍然快速使用它如果我確定輸入數(shù)據(jù)是安全的,則本地腳本):
lst_str = eval("[1,2,3]")
print(lst_str)
print(type(lst_str))
===
import ast
lst_str = ast.literal_eval("[1,2,3]")
print(lst_str)
print(type(lst_str))
輸出:
[1, 2, 3]
<class 'list'>
添加回答
舉報
0/150
提交
取消