test.txt內容如下:

第一列最後的a之後,故意多兩個空白
Q1: 如何分辨分隔子是tab還是不定數空白?
Q2: 如何讀取tab與不定數空白混用的csv?
Q3: 如何用pandas.Series.str.split()
將Series依據分隔子(tab與不定數空白混用)
拆分為多欄的DataFrame?
Q1 & Q2:

df的第0列出現三個 \t
第一列則無
可以據此分辨
tab與不定數空白
雖然df只有一欄而已
仍須注意其type為DataFrame
需要將df轉為Series
才能使用
pandas.Series.str.split( pat = “\s+|\t“, expand=True, n=3 )
使用 ser = df.iloc[:,0] 轉換:

或者df[0] 也可,
0為column name:
#df[[0]]則為DataFrame,
#內層的[]是list的意思

df_split = ser.str.split( pat =”\s+|\t“,expand=True)
正則表示法:
\s+ 不定數空白
\t TAB鍵
| 或

df_split
df_split_n3
可以看出參數n=3的差異
str type的變數,
參數使用sep (非pat)
且不支援 正則表示法:

df_split.to_excel(r”C:\temp\df_split.xlsx”):

最後一欄為空
Python中顯示None ” (空字串):

多加一個參數n=3
df_split_n3.to_excel(r”C:\temp\df_split_n3.xlsx”)

沒有出現最後一個空欄了
但a後面有多餘的空白
也就是剩下沒切割的
都堆在最後一欄
Python中顯示:

如果想要處理多餘的空白
df_split_n3.iloc[:, -1].str.strip()

推薦hahow線上學習python: https://igrape.net/30afN





![Python: 資料格式如 List[dict],如何快速將SN加入每一個dict中,以利Excel輸出?如何解包dict? **dict ; 將List[dict]的資料轉為pandas.DataFrame 長什麼樣子? Python: 資料格式如 List[dict],如何快速將SN加入每一個dict中,以利Excel輸出?如何解包dict? **dict ; 將List[dict]的資料轉為pandas.DataFrame 長什麼樣子?](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2024/02/20240208093926_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)



![Python: 如何在pandas.read_csv() or pandas.read_excel() 中使用keep_default_na =False , na_values =[] 保留文件中的原始“NA”? Python: 如何在pandas.read_csv() or pandas.read_excel() 中使用keep_default_na =False , na_values =[] 保留文件中的原始“NA”?](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2024/05/20240530215737_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

近期留言