我將串列匯出到 csv 檔案中:
file = open('all_states.csv', 'w ', newline='')
# writing the data into the file
with file:
write = csv.writer(file)
write.writerows(all_states)
從另一個腳本中,我將 csv 檔案匯入為:
with open('all_states.csv') as file:
reader = csv.reader(file)
states = list(reader)
file.close()
匯出的原始資料是:
exp_data = [
[[0], [[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]], [0, 0, 1]],
[[0], [[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]], [-1, 0, 0]],
[[0], [[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]], [0, -1, 0]]
]
但是當我匯入時,我得到了一些我想洗掉的單引號。
impo_data = [
['[0]', '[[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]]', '[0, 0, 1]'],
['[0]', '[[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]]', '[-1, 0, 0]'],
['[0]', '[[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]]', '[0, -1, 0]']
]
如何在匯出或匯入后洗掉引號?
uj5u.com熱心網友回復:
問題是您的 CSV 檔案被讀取為字串,而您想要處理它,就好像它不是一樣。您的專案看起來都是 JSON,所以只需通過json.loads.
states = [[json.loads(item) for item in row] for row in reader]
uj5u.com熱心網友回復:
據我所知,csv格式的報價很好。但是如果要洗掉引號,可以嘗試以下操作。匯入 csv 檔案時,定義quotechar:
csv.reader(inp_file, delimiter=',', quotechar="'")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/450870.html
標籤:Python python-3.x CSV 导出到 csv 单引号
