簡體   English   中英

我正在嘗試使用 pd.read_csv() 將文件加載到 Python 中,但我無法理解文件的格式

[英]I'm trying to load a file into Python using pd.read_csv(), but I cannot understand the file's format

這是我關於 stackoverflow 的第一個問題,所以我必須請求你的耐心。

我相信我需要加載到 Python 中的 csv 文件的格式有問題。 我正在使用 Jupyter Notebook。 該文件的鏈接在這里 它來自世界不平等數據庫數據門戶。

我很確定分隔符是一個分號( sep=";" ),因為當我指定這個參數時,數據的下半部分會整齊地呈現。 然而,文件中文本的前半部分似乎沒有意義。 我不知道如何告訴pd.read_csv()函數如何讀取它。 我懷疑前半部分數據的格式很糟糕。 我也試過header=Nonesep="|" 無濟於事。

任何想法或建議都會非常有幫助。 非常感謝!

這在電子表格中很常見。 您有一些評論,可能會到處插入表格。 對於內容創建者來說,它看起來很棒,但 CSV 卻是一團糟。 您需要預處理 CSV 以為您的分析創建干凈的內容。 在這種情況下,這很容易。 內容從罐頭標題開始,您可以在那里拆分文件。 如果該標頭更改,您將收到錯誤消息,現在只需再睡一個不眠之夜,即可弄清楚他們做了什么。

import itertools

canned_header_line = "Variable Code;country;year;perc;agdpro999i;"\
    "npopul999i;mgdpro999i;inyixx999i;xlceux999i;xlcusx999i;xlcyux999i"

def scrub_WID_file(in_csv_filename, out_csv_filename):
    with open(in_csv_filename) as in_file,\
            open(out_csv_filename, 'w') as out_file:
        out_file.writelines(itertools.dropwhile(
            lambda line: line.strip() != canned_header_line,
            in_fp))
    if not os.stat.st_size:
        raise ValueError("No recognized header in " + in_csv_filename)

暫無
暫無

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

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