1
1
#!/usr/bin/env python3
2
2
3
+ # https://docs.python.org/3/library/csv.html
4
+ # https://docs.python.org/3/library/io.html
5
+ # https://blog.gtwang.org/programming/python-csv-file-reading-and-writing-tutorial/
6
+ # https://en.wikipedia.org/wiki/Fluent_interface#PHP
3
7
4
8
import csv
5
9
@@ -12,13 +16,6 @@ def setFilePath (self, val):
12
16
self ._FilePath = val
13
17
return self
14
18
15
- _Handle = None
16
- def getHandle (self ):
17
- return self ._Handle
18
- def setHandle (self , val ):
19
- self ._Handle = val
20
- return self
21
-
22
19
_Data = []
23
20
def getData (self ):
24
21
return self ._Data
@@ -54,31 +51,31 @@ class AppFilter:
54
51
55
52
def run (self ):
56
53
57
- csv_source = FileCsvReader ().setFilePath ('var/input.csv' ).load ()
54
+ source_csv = FileCsvReader ().setFilePath ('var/input.csv' ).load ()
58
55
59
- data_source = csv_source .toArray ()
56
+ source_data = source_csv .toArray ()
60
57
61
- data_target = []
58
+ target_data = []
62
59
63
- for row_source , cells_source in enumerate (data_source ):
60
+ for source_row , source_cols in enumerate (source_data ): ## 一列一列地巡迴
64
61
65
- #if row_source == 0: # 不處理第一列
62
+ #if source_row == 0: # # 不處理第一列
66
63
# continue
67
64
68
65
69
- #print(cells_source );
66
+ #print(source_cols );
70
67
71
- if cells_source [3 ] == '0' :
68
+ if source_cols [3 ] == '0' : ## 排除第四個欄位是「0」的那一列(row)。第四個欄位指的是「欄位D」。
72
69
continue
73
70
74
- data_target .append (cells_source );
71
+ target_data .append (source_cols ); ## 此列沒被排除,所以放到「target_data」。
75
72
76
73
77
- #print(data_target )
74
+ #print(target_data )
78
75
79
- csv_target = FileCsvWriter ().setFilePath ('var/output.csv' ).setData (data_target )
76
+ target_csv = FileCsvWriter ().setFilePath ('var/output.csv' ).setData (target_data )
80
77
81
- csv_target .save ()
78
+ target_csv .save () ## 把「target_data」寫到「var/output.csv」。
82
79
83
80
if __name__ == "__main__" :
84
81
AppFilter ().run ()
0 commit comments