COBOL如何读取和写入CSV文件

作者:佚名 上传时间:2023-03-25 运行软件:Micro Focus COBOL 软件版本:COBOL 85 版权申诉

这个示例代码展示了使用COBOL读取和写入CSV文件的方法。它使用了COBOL内置的SEQUENTIAL ACCESS和DELIMITED BY文本文件处理功能,可以方便地处理常见的CSV文件。该示例代码有一个包含学生信息的CSV文件,读取该文件并根据学生成绩算出各科平均分并将结果写入一个新的CSV文件。

IDENTIFICATION DIVISION.
   PROGRAM-ID. CSV-FILE-PROCESSING.
   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
       SELECT IN-FILE ASSIGN "students.csv"
           ORGANIZATION LINE SEQUENTIAL
           ACCESS MODE SEQUENTIAL
           FILE STATUS MSD-STATUS.
       SELECT OUT-FILE ASSIGN "output.csv"
           ORGANIZATION LINE SEQUENTIAL
           ACCESS MODE SEQUENTIAL
           FILE STATUS MSD-STATUS.
   DATA DIVISION.
   FILE SECTION.
   FD IN-FILE.
   01 STUDENT-REC.
       05 S-NAME         PIC X(10).
       05 S-MATH-SCORE  PIC 9(3).
       05 S-ENG-SCORE   PIC 9(3).
       05 S-SCI-SCORE   PIC 9(3).
   FD OUT-FILE.
   01 OUT-REC.
       05 O-NAME        PIC X(10).
       05 O-MATH-SCORE  PIC 9(3).
       05 O-ENG-SCORE   PIC 9(3).
       05 O-SCI-SCORE   PIC 9(3).
       05 O-AVG-SCORE   PIC 9(3).

   WORKING-STORAGE SECTION.
   01 WS-COUNTER         PIC 9(3)    VALUE 0.
   01 WS-MATH-TOTAL      PIC 9(5)    VALUE 0.
   01 WS-ENG-TOTAL       PIC 9(5)    VALUE 0.
   01 WS-SCI-TOTAL       PIC 9(5)    VALUE 0.
   01 WS-MATH-AVG        PIC 9(3)V9  VALUE 0.0.
   01 WS-ENG-AVG         PIC 9(3)V9  VALUE 0.0.
   01 WS-SCI-AVG         PIC 9(3)V9  VALUE 0.0.
   01 WS-OUT-NAME        PIC X(10).
   01 WS-OUT-MATH-SCORE  PIC 9(3).
   01 WS-OUT-ENG-SCORE   PIC 9(3).
   01 WS-OUT-SCI-SCORE   PIC 9(3).
   01 WS-OUT-AVG-SCORE   PIC 9(3).

   PROCEDURE DIVISION.
   Main.
       OPEN INPUT IN-FILE
           OUTPUT OUT-FILE.
       READ IN-FILE
           AT END
               GO TO Finish.
       PERFORM ReadStudentInfo
       PERFORM CalculateAndWriteStudentInfo
       ADD 1 TO WS-COUNTER
           GO TO Main.
   Finish.
       CLOSE IN-FILE
           OUT-FILE.
       STOP RUN.

   ReadStudentInfo.
       MOVE S-NAME TO WS-OUT-NAME
       MOVE S-MATH-SCORE TO WS-OUT-MATH-SCORE
       MOVE S-ENG-SCORE TO WS-OUT-ENG-SCORE
       MOVE S-SCI-SCORE TO WS-OUT-SCI-SCORE.

   CalculateAndWriteStudentInfo.
       COMPUTE WS-MATH-TOTAL = WS-MATH-TOTAL + WS-OUT-MATH-SCORE
       COMPUTE WS-ENG-TOTAL = WS-ENG-TOTAL + WS-OUT-ENG-SCORE
       COMPUTE WS-SCI-TOTAL = WS-SCI-TOTAL + WS-OUT-SCI-SCORE
       DIVIDE WS-MATH-TOTAL BY WS-COUNTER GIVING WS-MATH-AVG
       DIVIDE WS-ENG-TOTAL BY WS-COUNTER GIVING WS-ENG-AVG
       DIVIDE WS-SCI-TOTAL BY WS-COUNTER GIVING WS-SCI-AVG
       MOVE WS-MATH-AVG TO WS-OUT-MATH-SCORE
       MOVE WS-ENG-AVG TO WS-OUT-ENG-SCORE
       MOVE WS-SCI-AVG TO WS-OUT-SCI-SCORE
       MOVE WS-OUT-NAME TO O-NAME
       MOVE WS-OUT-MATH-SCORE TO O-MATH-SCORE
       MOVE WS-OUT-ENG-SCORE TO O-ENG-SCORE
       MOVE WS-OUT-SCI-SCORE TO O-SCI-SCORE
       COMPUTE WS-OUT-AVG-SCORE = (WS-OUT-MATH-SCORE + WS-OUT-ENG-SCORE + WS-OUT-SCI-SCORE) / 3
       MOVE WS-OUT-AVG-SCORE TO O-AVG-SCORE
       WRITE OUT-REC.

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
COBOLCSV
这个示例代码展示了使用COBOL读取和写入CSV文件的方法。它使用了COBOL内置的SEQUENTIAL ACCESS和DELIMITED BY文本文件处理功能,可以方便地处理常见的CSV文件。该示例
COBOL 85
Micro Focus COBOL
2023-03-25 12:43
COBOLCSV
本示例展示了如何使用COBOL编程语言读取和写入CSV文件。CSV文件是一种常见的文本文件格式,其中数据以逗号分隔。通过本示例,您将学习如何在COBOL程序中打开和读取CSV文件,以及如何将数据写入C
COBOL85
COBOL编译器
2023-04-12 07:59
COBOLCSV
COBOL是一种古老但仍然广泛使用的编程语言,它可以用于处理各种文件格式,包括CSV(逗号分隔值)文件。CSV文件是一种常见的数据交换格式,它使用逗号作为字段分隔符。COBOL如何读取CSV文件C
COBOL 11+
COBOL
2023-03-22 10:16
使用COBOLCSV
本示例展示了如何使用COBOL读取和写入CSV文件,CSV文件是以逗号分隔的文本文件,常用于数据交换和存储。本示例使用了内置的INPUT-OUTPUT SECTION和FILE SECTION语句,读
OpenCOBOL 1.1
COBOL编译器
2023-03-30 00:07
ErlangCSV
本示例代码将介绍如何使用Erlang从CSV文件中读取和写入数据。Erlang是一种函数式编程语言,它可以很好地处理并发和分布式系统。-module(csv_parser).-export([re
Erlang OTP 22.0
Erlang/OTP
2023-04-12 02:39
C++csv
本示例代码演示了C++如何使用fstream库读取和写入csv文件(逗号分隔值文件),以及如何解析csv文件中的每一行数据。#include <iostream>#include &l
C++11及以上
Visual Studio 2019
2023-04-07 09:20
PascalCSV
展示如何使用Pascal读取和写入CSV文件。CSV文件是一种包含逗号分隔值的纯文本文件,在许多业务和科学领域中都是很常见的数据格式。见下面
Free Pascal 3.2.2
Free Pascal Compiler
2023-03-22 06:08
PythonCSV
本示例展示了如何使用Python语言读取和写入CSV文件。CSV文件指的是逗号分隔值文件,包含一系列用逗号分隔的数据行。通过该示例,可以实现快速而简单的CSV文件读写操作。import csv#
Python 3.9.0
Python
2023-05-30 09:14
JavaCSV
本示例代码展示了如何使用Java读取和写入CSV文件。我们使用CSVReader和CSVWriter两个类分别读取和写入CSV文件,这两个类均来自于OpenCSV库。// 导入库import co
OpenCSV 4.2
Java
2023-04-29 09:06
COBOLCSV
CSV(逗号分隔值)文件是一种常见的文件格式,通常用于数据交换和数据存储。在COBOL中,可以使用以下步骤来读取CSV文件:打开CSV文件,使用INPUT或I-O模式打开文件。读取CSV文件中的
COBOL85
Visual Studio Code
2023-03-15 09:24