我正在嘗試將歐洲設計的軟體中的 csv 樣式資料匯入 df 進行分析。資料使用兩個字符來分隔檔案中的資料,“DC4”和“SI”(我相信“Shift In”)。我目前正在連接檔案并使用 read_csv 將它們通過“DC4”字符分隔到 df 中。然后我使用正則運算式行將所有 'SI' 字符替換為 ';' 在df中。我跳過代碼中的每一行以洗掉我接下來不需要的識別符號。如果我此時打開資料,所有內容都被“DC4”分割,所有“SI”都轉換為;。
您建議將 df 進一步拆分為 ; 現在的性格?我試圖通過 series.string 拆分 df 但出現型別錯誤。我已匯出到 csv 并使用 ; 重新匯入它。作為分隔符,但由于某種原因,它不會拆分已經與第一次匯入拆分的現有列?我還在 df 的某些行上遇到決議器錯誤,所以我認為存在臟行(這只是我發現的資訊。如果沒有幫助,請忽略它)。我可以忽略這些行而不影響我需要的資料。
當我提取完整報告時,df 的大小約為 60-70 列,通常少于 75K 行。我正在使用 PyCharm 和 Python 3.8。感謝大家對此的任何幫助,我非常感謝。到目前為止,這是我的代碼:
path = file directory location
df = pd.concat([pd.read_csv(f, sep='', comment=" ", na_values='Nothing', header=None, index_col=False)
for f in glob.glob(path ".file extension")], ignore_index=True)
df = df.replace('', ';', regex=True)
df = df.iloc[::2]
df.to_csv(r'new_file_location', index=False, encoding='utf-8-sig')
uj5u.com熱心網友回復:
所以你有一個由兩個不同的值(DC4 和 SI)分隔的 CSV(我猜技術上不是 CSV),你想將它讀入資料幀嗎?
您可以直接使用 pandas 執行此操作,該read_csv函式允許您指定正則運算式分隔符,因此您可以使用"\x0e|\x14"DC4 或 SI 作為分隔符:pd.read_csv(path, sep="\x0e|\x14")
具有可讀字符的示例:
csv 包含:
col1,col2;col3
val1,val2,val3
val4;val5;val6
可以這樣解讀:
import pandas as pd
df = pd.read_csv(path, sep=",|;")
結果df是:
col1 col2 col3
0 val1 val2 val3
1 val4 val5 val6
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428834.html
上一篇:R中多個csv檔案的完全連接
