CSV檔案處理

2022-08-23 09:06:06 字數 2337 閱讀 9501

*

-- 專案定義

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 這樣操作,以後獲取資料的時候,就要通過下表來獲取資料。如果想要在獲取...