將 csv 檔案讀入 DataFrame
讀取檔案 data_file.csv
的示例如:
檔案:
index,header1,header2,header3
1,str_data,12,1.4
3,str_data,22,42.33
4,str_data,2,3.44
2,str_data,43,43.34
7, str_data, 25, 23.32
碼:
pd.read_csv('data_file.csv')
輸出:
index header1 header2 header3
0 1 str_data 12 1.40
1 3 str_data 22 42.33
2 4 str_data 2 3.44
3 2 str_data 43 43.34
4 7 str_data 25 23.32
一些有用的論點:
-
sep
預設欄位分隔符是逗號,
。如果你需要不同的分隔符,請使用此選項,例如pd.read_csv('data_file.csv', sep=';')
-
index_col
使用index_col = n
(n
為整數),你可以告訴 pandas 使用列n
來索引 DataFrame。在上面的例子中:pd.read_csv('data_file.csv', index_col=0)
輸出:
header1 header2 header3 index 1 str_data 12 1.40 3 str_data 22 42.33 4 str_data 2 3.44 2 str_data 43 43.34 7 str_data 25 23.32
-
skip_blank_lines
預設情況下會跳過空白行。使用skip_blank_lines=False
包含空行(它們將填充NaN
值)pd.read_csv('data_file.csv', index_col=0,skip_blank_lines=False)
輸出:
header1 header2 header3 index 1 str_data 12 1.40 3 str_data 22 42.33 4 str_data 2 3.44 2 str_data 43 43.34 NaN NaN NaN NaN 7 str_data 25 23.32
-
parse_dates
使用此選項可解析日期資料。檔案:
date_begin;date_end;header3;header4;header5 1/1/2017;1/10/2017;str_data;1001;123,45 2/1/2017;2/10/2017;str_data;1001;67,89 3/1/2017;3/10/2017;str_data;1001;0
將列
0
和1
解析為日期的程式碼:pd.read_csv('f.csv', sep=';', parse_dates=[0,1])
輸出:
date_begin date_end header3 header4 header5 0 2017-01-01 2017-01-10 str_data 1001 123,45 1 2017-02-01 2017-02-10 str_data 1001 67,89 2 2017-03-01 2017-03-10 str_data 1001 0
預設情況下,推斷日期格式。如果要指定可以使用的日期格式
dateparse = lambda x: pd.datetime.strptime(x, '%d/%m/%Y') pd.read_csv('f.csv', sep=';',parse_dates=[0,1],date_parser=dateparse)
輸出:
date_begin date_end header3 header4 header5 0 2017-01-01 2017-10-01 str_data 1001 123,45 1 2017-01-02 2017-10-02 str_data 1001 67,89 2 2017-01-03 2017-10-03 str_data 1001 0
有關該功能引數的更多資訊,請參閱官方文件 。