How to export an array to a CSV file in Julia

Julia is a high-level programming language designed for numerical and scientific computing. It is suitable for various computational tasks, including data analysis, machine learning, and scientific research.

The exporting of an array to a CSV file is done for various reasons. Below are some of these reasons:

  • Data sharing: Exporting arrays to CSV facilitates sharing structured data with others who might use different tools or software for analysis.

  • Tabular representation: For structured data in arrays, CSV offers a simple, human-readable tabular format for easy understanding and manipulation.

  • Integration with tools: CSV files can be easily imported into spreadsheets, databases, or statistical analysis tools for further processing or visualization.

In this Answer, we will learn how to export an array to a CSV file in Julia using a step-by-step guide which is as follows:

Import required modules

First, we have to import the necessary modules. The following two modules are required to export an array to a CSV file in Julia:

  1. CSV: This Julia package enables read/write operations for CSV files.

  2. DataFrames: This DataFrames Julia package provides functionalities for working with tabular data structures within Julia.

Note: If you are working on your local machine, the CSV and DataFrames modules have to be installed using the Julia package manager PkgPkg comes installed by default with Julia. The following commands can be used to install these modules (these packages have already been installed for you on our platform):

using Pkg
Pkg.add("CSV")
Pkg.add("DataFrames")
Using Julia's package

The code snippet below shows how to import the CSV and DataFrames modules.

using CSV, DataFrames

Define the array

Next, we have to define the array that we want to export to the CSV format. The code snippet below shows the array.

data = [
["english", "maths", "chemistry", "physics", "literature"],
[23, 10, 15, 19, 29],
[7, 20, 15, 11, 1],
[90, 70, 15, 70, 100],
[49, 47, 45, 50, 42]
]

In the code snippet above, we have defined the array named data. Each row within the data array is a column representing the following:

  • “Subject”

  • “Passed”

  • “Failed”

  • “Highest Marks”

  • “Lowest Marks”

Define the header

Next, we have to define the header for the CSV file. The header is the first row in a CSV file that contains labels or names for each column, describing the data within those columns. The headers for the data array are: “Subject,” “Passed,” “Failed,” “Highest,” and “Lowest.” The code snippet below shows the header for the data array.

header = ["Subject", "Passed", "Failed", "Highest", "Lowest"]

Export to CSV file

Once all the steps have been completed, we can export the array to the CSV file. The code snippet below shows how to do so.

file_path = "output/array.csv"
CSV.write(file_path, DataFrame(data, :auto), header=header)

In the code snippet above, we use the write method from the CSV module to export the data array to the CSV format. We passed the following arguments to the write method:

  • "file_path": This is the path of the CSV file to which we are exporting the data array.

  • DataFrame(data, :auto): This creates a Julia DataFrame from the data array using the DataFrames module. The :auto part infers automatically whether the data should be treated as rows or columns.

  • header=header: We pass the header of the data array.

Code example

Execute the following widget to convert the data array to a CSV file.

using CSV, DataFrames
data = [
["english", "maths", "chemistry", "physics", "literature"],
[23, 10, 15, 19, 29],
[7, 20, 15, 11, 1],
[90, 70, 15, 70, 100],
[49, 47, 45, 50, 42]
]
header = ["Subject", "Passed", "Failed", "Highest", "Lowest"]
file_path = "output/array.csv"
CSV.write(file_path, DataFrame(data, :auto), header=header)

Code explanation

  • Line 1: We import the CSV and DataFrames modules.

  • Lines 28: We define a 2D array data representing exam scores for different subjects.

  • Line 9: We define a header for the CSV file, representing different statistics for each subject.

  • Line 10: We define the path for the CSV file.

  • Line 11: We write the data using the module to a CSV file.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved