我已經尋找了很長時間的類似的問題,但找不到一個。從csv創建詞典只有1列中的所有數據
當我用Excel打開某個csv文件時,每行的數據都打包在一個單元格中,用「;」分隔,而不是多個單元格。第一行是字符串列表,其他所有行都是整數。我想用Python的第一行(字符串列表)作爲頭部來創建一個字典。 csv文件如下所示。我從一個機器學習數據庫中下載的文件datafile site
col1
row1 "x";"y";"z"
row2 1;2;3
row3 4;5;6
當我使用
import csv
new_list = []
with open(file) as f:
reader = csv.DictReader(f)
for row in reader:
new_list.append(row)
print(new_list)
我最終得到
{'"x";"y";"z"':'1;2;3'}
{'"x";"y";"z"':'3;4;5'}
,而不是
{'"x"':'1','"y"':'2','"z"':'3'}
{'"x"':'4','"y"':'5','"z"':'6'}
如何代碼我該做什麼?從這種類型的csv文件的字典? (當我有一個在Excel中打開的csv文件,其中所有的數據點都有它自己的單元格時,csv.DictReader類在製作字典時運行良好,但它不適用於這種類型的格式)
這個問題困惑:是的' col1'部分文件?這與問題有關嗎?並且是'''''''是否有錯誤或錯誤的實際部分?另外,「一列中的所有數據」是什麼意思? –
當我打開csv文件時,所有數據都在第一列。我認爲這是相關的,因爲當我打開其他每個數據點都有自己的列的csv文件時,我使用DictReader來獲取正常的字典。是的,這是一個錯字。所有數據都有「;」將其分開。我現在編輯它,所以它是正確的。 – zipline86