*-- 專案定義
data: lv_str type
i, lv_offset
type
i, lv_count_quote
type
i, lv_judge
type
string
.data :c4_file type
string
.data :l_test1 type
string
.data :l_test2 type
string
.data:l_beg type
i.data:l_end type
i.types:
begin
ofoffset,
beg
type
i,
endtype
i,
endof
offset.
data l_r_offset type
offset.
data l_i_offset type standard table
ofoffset.
data l_i_string type standard table
ofstring.*
* ダブル引用符「""」の削除
*replace all occurrences of k_wquote in c4_file
*with k_null.
*csv
*c4_file = ''.
*文字數(バイト數)の取得
lv_str =strlen( c4_file ).
*左から1バイトずつ判定do.
clear
: lv_judge.
lv_judge = c4_file+lv_offset(1).*
「"」(引用符)の場合、引用符カウントをインクリメント
if lv_judge =k_doq.
lv_count_quote = lv_count_quote + 1.*
「,」(カンマ)の場合、區切り文字判定を実施
elseif lv_judge =k_com.
*「"」(引用符)が偶數値、かつ、「,」(カンマ)の場合、區切り判定
if ( lv_count_quote mod
2 ) = 0.*
指定區切り文字(タブ)をセット
replace
section offset lv_offset length 1
of c4_file with
k_tab.
l_r_offset-end = lv_offset - 1
.
l_i_offset.
l_r_offset-beg = lv_offset + 1.*
「"」(引用符)が奇數値、かつ、「,」(カンマ)の場合、區切りではない
else.*
処理なし
endif
.
else.*
処理なし
endif.*
オフセット位置をインクリメント
lv_offset = lv_offset + 1.*
判定対象の文字數を超過する場合、処理を抜ける
if lv_offset =lv_str.
exit
.
endif.
enddo.
sort l_i_offset by
enddescending.
loop
at l_i_offset into
l_r_offset.
*指定區切り文字(タブ)をセット
replace
section offset l_r_offset-end length 1
of c4_file with
k_null.
*指定區切り文字(タブ)をセット
replace
section offset l_r_offset-beg length 1
of c4_file with
k_null.
endloop.*
ダブル引用符「""」の削除
replace all occurrences of k_wquote in
c4_file
with
k_doq.
split c4_file at k_tab
into
table l_i_string.
csvファイル取込
csv檔案處理
今天先簡單的使用一些csv檔案處理的一些常用方法,後面使用到numpy pandas等模組時再補充。csv檔案格式的通用標準並不存在,可以參看rfc 4180 逗號分隔值 comma separated values,csv,有時也成為了字元分隔,因為分隔字元也可以不是逗號 其檔案以純文字形式儲存 ...
csv檔案處理
1 讀入檔案 讀入csv檔案的方式有兩種,一種是pd.dataframe.from csv 另一種是pd.read csv 兩種讀入csv檔案的方式本身沒有實質性的區別,二者都基於相同的函式功能實現,但是有一些引數的預設值不同。推薦使用的是pd.read csv,pd.dataframe.from ...
csv檔案處理
import csv with open stock.csv r as fp reader是乙個迭代器 reader csv.reader fp titles next reader for x in reader print x 這樣操作,以後獲取資料的時候,就要通過下表來獲取資料。如果想要在獲取...