簡體   English   中英

使用csv.DictReader()后如何按源順序排列數據?

[英]How to arrange data in the source order after using csv.DictReader()?

我正在嘗試將 csv 文件轉換為字典以進行計算,並以與原始 csv 文件中完全相同的順序(例如 a、b、c、d 等)打印它。

我剛剛學習並嘗試使用csv.DictReader(file)但我意識到每次打印時,行、列的順序不斷變化,或者我會說它隨機混亂。

對此有什么解決方案,或者我做錯了什么?

import csv

with open("breast_cancer_v1.csv", 'r') as file:
    csv_file = csv.DictReader(file)
    for row in csv_file:
        print(dict(row))

我在我的 csv 中將我的列標題命名為“a、b、c、d、e、f、h、i、j、k、l、m”,但打印順序如下:

輸出

在此處輸入圖片說明

請注意字典鍵沒有按順序排列,如果我在 csv 中有太多行(例如 100+ 行),我的行也面臨同樣的問題

我的原始 csv 數據如下所示:

在此處輸入圖片說明

如果您想按順序打印,請使用以下命令:

   import csv

   with open("breast_cancer_v1.csv", 'r') as file:
       for row in file:
           print(row)

或者,如果您真的想將其打印為字典,則必須使用 fieldnames 選項為每一列指定一個名稱:

    import csv

    with open("artist.csv", newline='') as file:
      fieldnames = ['first_col', 'sec_col',...,'last_col']
      csv_file = csv.DictReader(file, fieldnames=fieldnames)
        for row in csv_file:
           print(row)

您列出字段名稱的順序將是它們出現的順序。您必須刪除 csv 文件中的原始列標題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM