📜  在 Julia 中使用 CSV 文件

📅  最后修改于: 2022-05-13 01:55:46.523000             🧑  作者: Mango

在 Julia 中使用 CSV 文件

CSV 文件(逗号分隔值文件)是使用逗号分隔值和字段的纯文本文件。它主要用于以表格或电子表格的形式存储数据。表格或电子表格的每一行都是一条记录,其中填充了属于 n 个字段(或列)的数据。它用于非常轻松地导入或导出数据和表格,并以大多数编程语言的扩展名“.csv”存储。

Julia 提供了各种文件处理方法来对 CSV 文件执行操作。这些方法可用于创建 CSV 文件、向文件添加内容、更新文件等。

在 Julia 中导入 CSV 文件

首先,您需要在 Julia 命令行上使用以下命令安装 CSV 包:

using pkg 
pkg.add("Package name")

CSV 包是一个内置包,其中定义了“N”个方法来执行 n 个操作。

Julia
# using pkg to install packages
using Pkg 
 
# using pkg to add csv package file to library
Pkg.add("CSV")


Julia
# using Installed csv package for working with csv files
using CSV
 
# reading the csv file
CSV.read("myfile.csv")


Julia
using CSV
 
# using dataframes package to create a dataframe
using DataFrames
 
# Creating DataFrame
ab = DataFrame(Name = ["AKANKSHA", "TANYA", "PREETIKA", "VRINDA", "JAHNVI"],
               Age = [42, 44, 22, 81, 93],
               Salary = [540000, 650000, 900000, 770000, 850000],
         RESIDENCE=["DELHI", "DELHI", "UP", "HARYANA", "UP"]
               ) 
 
# modifying the content of myfile.csv using write method
CSV.write("myfile.csv", ab)


Julia
# new file created
touch("newfile.csv")
 
# file handling in write mode
efg = open("newfile.csv", "w")
 
# Creating a new dataframe
mn = DataFrame(Name = ["AKANKSHA", "TANYA", "PREETIKA", "VRINDA", "JAHNVI"],
               Age = [42, 44, 22, 81, 93],
               Salary = [540000, 650000, 900000, 770000, 850000],
         RESIDENCE=["DELHI", "DELHI", "UP", "HARYANA", "UP"]
               )
                
# writing to the newly created file
CSV.write("newfile.csv", mn)


Julia
# Format
# CSV.File(filename;drop=["colulm1", "column2"....., column n])
 
# dropping "RESIDENCE" column from our file (newfile.csv")
CSV.File("newfile.csv"; drop=["RESIDENCE"])


Julia
# Format for select command
# CSV.File(file; select=[column1, column2])
 
# Select the columns 'Name and Salary'
CSV.File("newfile.csv"; select=["Name", "Salary"])
 
# Selecting columns number wise
# selecting column 1 and 3
CSV.File("newfile.csv"; select=(i, nm) -> i in (1, 3))
 
# selecting column 1, 2, 3
CSV.File("newfile.csv"; select=(i, nm) -> i in (1, 2, 3))


Julia
using DataFrames
file = CSV.read("myfile.csv",DataFrames)


安装包

现在您必须将数据保存到 CSV 文件中。

创建 .csv 文件

从 CSV 文件中读取数据

在这里,我们将使用 CSV 包和read()方法来读取 CSV 文件的内容:

朱莉娅

# using Installed csv package for working with csv files
using CSV
 
# reading the csv file
CSV.read("myfile.csv")

从 csv 文件中读取数据

修改 CSV 文件的内容

在这里,我们将学习如何借助 CSV 包和 DataFrames 包中的write()方法修改现有文件的内容。

朱莉娅

using CSV
 
# using dataframes package to create a dataframe
using DataFrames
 
# Creating DataFrame
ab = DataFrame(Name = ["AKANKSHA", "TANYA", "PREETIKA", "VRINDA", "JAHNVI"],
               Age = [42, 44, 22, 81, 93],
               Salary = [540000, 650000, 900000, 770000, 850000],
         RESIDENCE=["DELHI", "DELHI", "UP", "HARYANA", "UP"]
               ) 
 
# modifying the content of myfile.csv using write method
CSV.write("myfile.csv", ab)

创建一个新的数据框

现在我们将使用 CSV write()方法覆盖现有的“.csv”文件。

写入现有文件

写入 CSV 文件

在这里,我们将使用touch()命令创建一个新文件,因此使用 DataFrames 和 CSV 包将新创建的数据帧内容写入新文件。

朱莉娅

# new file created
touch("newfile.csv")
 
# file handling in write mode
efg = open("newfile.csv", "w")
 
# Creating a new dataframe
mn = DataFrame(Name = ["AKANKSHA", "TANYA", "PREETIKA", "VRINDA", "JAHNVI"],
               Age = [42, 44, 22, 81, 93],
               Salary = [540000, 650000, 900000, 770000, 850000],
         RESIDENCE=["DELHI", "DELHI", "UP", "HARYANA", "UP"]
               )
                
# writing to the newly created file
CSV.write("newfile.csv", mn)

删除 CSV 文件的内容

在这里,我们将学习使用 Julia 中的drop命令从特定表或电子表格中删除特定列条目或多个列条目。

朱莉娅

# Format
# CSV.File(filename;drop=["colulm1", "column2"....., column n])
 
# dropping "RESIDENCE" column from our file (newfile.csv")
CSV.File("newfile.csv"; drop=["RESIDENCE"])

落柱住宅

查询 CSV 文件

在这里,我们将学习根据需要从整个表或电子表格中查询特定列或一组列,我们甚至可以在查询中使用运算符来检索一组满足特定条件的行。

朱莉娅

# Format for select command
# CSV.File(file; select=[column1, column2])
 
# Select the columns 'Name and Salary'
CSV.File("newfile.csv"; select=["Name", "Salary"])
 
# Selecting columns number wise
# selecting column 1 and 3
CSV.File("newfile.csv"; select=(i, nm) -> i in (1, 3))
 
# selecting column 1, 2, 3
CSV.File("newfile.csv"; select=(i, nm) -> i in (1, 2, 3))

因此,可以在 Julia 中使用内置的 CSV 包对 CSV 文件执行“N”个操作,该包具有预定义的“M”个具有唯一操作的方法。

在使用 CSV.read(“myfile.csv”) 时,如果您发现类似“”ArgumentError:提供有效的接收器参数“”的错误,请使用以下命令解决此错误:

朱莉娅

using DataFrames
file = CSV.read("myfile.csv",DataFrames)