使用python自带的csv模块处理数据,同样可以使用pandas模块下的函数进行处理
pandas
2.1基础pandas
import pandas as pd
data_frame = pd.read_csv(input_file)#读取csv文件
data_frame.to_csv(output_file, index=False)#输出csv文件内容
2.2 筛选特定的行
2.2.1 行中的值满足某个条件
supplier_data.csv如下图所示:
需求:
在这个示例中,保留供应商名字为Supplier Z或成本大于$600.00的行,并将结果写入输出文件
import pandas as pd
import sys
input_file = sys.argv[1]
output_file = sys.argv[2]
data_frame = pd.read_csv(input_file)
#获取Cost这一列 将其转换为float类型
data_frame['Cost'] = data_frame['Cost'].str.strip('$').astype(float)
#pandas提供了一个loc函数,可以同时选择特定的行与列
data_frame_value_meets_condition = data_frame.loc[(data_frame['Supplier Name']\
.str.contains('Z')) | (data_frame['Cost'] > 600.0), :]
data_frame_value_meets_condition.to_csv(output_file, index=False)
2.2.2 行中的值属于某个集合
需求:
在这个示例中,是要保留那些购买日期属于集合{
'1/20/14', '1/30/14'}的行,并将结果写入输出文件
input_file = sys.argv[1]
output_file = sys.argv[2]
data_frame = pd.read_csv(input_file)
important_dates = ['1/20/14', '1/30/14']