1.基础Python
vi 6csv_reader_column_by_index.py
#encoding=utf-8
#!/usr/bin/env python3
import csv
import sys
input_file=sys.argv[1]
output_file=sys.argv[2]
my_columns=[0,3]
with open(input_file,'rb') as csv_in_file:
with open(output_file,'wb') as csv_out_file:
filereader=csv.reader(csv_in_file)
filewriter=csv.writer(csv_out_file)
for row_list in filereader:
row_list_output=[]
for index_value in my_columns:
row_list_output.append(row_list[index_value]) #保留第一个和第四个值。
filewriter.writerow(row_list_output) #写入这个列表,它是一个字符串序列。
#结果 我们发现第一列,第4列输出了。
[root@mysql51 python_scripts]# python 6csv_reader_column_by_index.py supplier_data.csv 8output_csv.csv
[root@mysql51 python_scripts]# more 8output_csv.csv
Supplier Name,Cost
Supplier x,$500
Supplier x,$501
Supplier x,$750
Supplier x,$750
Supplier y,$250
Supplier y,$250
Supplier y,$125
Supplier y,$125
Supplier z,$615
Supplier z,$615
Supplier z,$615
Supplier z,$615
2.pandas
vi 6csv_reader_column_by_index.py
#encoding=utf-8
#!/usr/bin/env python3
import pandas as pd
import sys
input_file=sys.argv[1]
output_file=sys.argv[2]
data_frame=pd.read_csv(input_file)
data_frame_column_by_index=data_frame.iloc[:,[0,3]] #取第一列和第4列。
data_frame_column_by_index.to_csv(output_file,index=False)
#结果
python C:\Users\4201.HJSC\PycharmProjects\pythonProject\6csv_reader_column_by_index.py \
C:\Users\4201.HJSC\Desktop\Python_exercise\supplier_data.csv \
C:\Users\4201.HJSC\Desktop\Python_exercise\8output_csv.csv
more 8output_csv.csv
Supplier Name,Cost
Supplier x,$500
Supplier x,$501
Supplier x,$750
Supplier x,$750
Supplier y,$250
Supplier y,$250
Supplier y,$125
Supplier y,$125
Supplier z,$615
Supplier z,$615
Supplier z,$615
Supplier z,$615
3.总结
iloc 函数根据索引位置选取列。
row[0]:每行第一个值
row[-1]:每行最后一个值。