其實是書上給的csv檔案有問題。
例如:例如直接雙擊開啟winequality-red.csv檔案是這種情況。但是dataframe.insert新增列的時候預設的是逗號分隔符。而書上的**讀取資料集時:
wine=pd.read_csv('winequality-both.csv', sep=',', header=0)
sep=』,』,表示域分隔符為逗號
# 解決方案:
#先處理第乙個
data_frame=pd.
read_csv
('winequality-red.csv'
,sep=
';',header=
0)#讀取資料集
data_frame.columns=data_frame.columns.str.
replace
(','
,';'
)print
(data_frame.
head()
)#列印不包括標題的前五行
data_frame.
insert(0
,'type'
,'red'
,allow_duplicates=false)#增加一列新列
data_frame.
to_csv
('output-red.csv'
,index=false)#寫入輸出
#依葫蘆畫瓢處理第二個
data_frame=pd.
read_csv
('winequality-white.csv'
,sep=
';',header=0)
data_frame.columns=data_frame.columns.str.
replace
(','
,';'
)data_frame.
insert(0
,'type'
,'white'
,allow_duplicates=false)
data_frame.
to_csv
('output-white.csv'
,index=false)
#input_path=sys.ar**[1]
#output_file=sys.ar**[2]
#all_files=glob.
glob
(os.path.
join
(input_path,
'output-*'))
#all_data_frames=
#for file in all_files:
#合併兩個表
data_frame1=pd.
read_csv
('output-red.csv'
,index_col=none)
data_frame2=pd.
read_csv
('output-white.csv'
,index_col=none)
#all_data_frames.
(data_frame)
data_frame_concat=pd.
concat
([data_frame1,data_frame2]
,axis=
0,ignore_index=true)#將兩個表拼接
data_frame_concat.
to_csv
('output.csv'
,index=false)
這就搞定了。(新人小白,歡迎大佬指正)
Python處理csv檔案
在csv檔案中,以,作為分隔符,分隔兩個單元格。像這樣a,c表示單元格a和單元格c之間有個空白的單元格。依此類推。不是每個逗號都表示單元格之間的分界。所以即使csv是純文字檔案,也堅持使用專門的模組進行處理。python內建了csv模組。先看看乙個簡單的例子。import csv filename ...
用Python處理csv檔案
csv 是 逗號分隔值 的英文縮寫,通常都是純文字檔案。建議使用 wordpad 或是記事本 note 來開啟,再則先另存新檔後用 excel 開啟,也是方法之一。一直以為 csv 是某種 excel 檔案,原來是一種純文字檔案,嘗試用記事本開啟乙個 csv 檔案 果然,在記事本中是以逗號為分隔符,...
利用Python處理CSV 檔案
csv 檔案 將資料作為一系列以逗號分隔的值寫入檔案,通俗的講就是兩個逗號的資訊之間看作乙個資料。csv模組包含在python標準庫中,可用於分析csv檔案中的資料行 import csv 利用matplotlib繪圖 from matplotlib import pyplot as plt fil...