我使用我用來匯入多個資料幀的同一段代碼。通常它們具有相同的列名和不同的資料。但是有時它們在列名之前或之后有不同的空格。
df = pd.read_csv(
file_path,
delimiter="|",
low_memory=True,
dtype=schema,
usecols=schema.keys(),
)
該檔案的架構在另一個檔案中:
file_schema = {
" Age ": str,
" Name ": str,
" Country ": str,}
對于其他一些情況,名稱前后沒有空格:
file_schema = {
"Age": str,
"Name": str,
"Country": str,}
目前只有一個模式,如果列名之前的空格不匹配,我會遇到與usecols. 我想知道在一個模式檔案中是否有一種方法可以寫入列的名稱,并且無論名稱前后有多少空格,它都能正常作業?
uj5u.com熱心網友回復:
我認為應該可以將列名與
pd.read_csv(..., usecols=lambda x: x.strip() in schema.keys())
然后要么在之后剝離它們
df.columns = df.columns.str.strip()
甚至更好地嘗試明確地傳遞它們
pd.read_csv(..., header=0, names=schema.keys())
如果您知道宣告的所有列都schema將按順序排列在檔案中。
不確定,是否dtype=schema會立即引起下一個問題,但
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/519470.html
標籤:Python熊猫数据框
上一篇:用熊貓資料框中的特殊字符替換字串
下一篇:如何創建遞增組列計數器
