Julia编程语言基本语法

1、Julia读取/保存csv数据
读取:

using CSV
df = CSV.read("mydata.csv")

保存为csv格式:

# 创建 DataFrame
df = DataFrame(height = h, discharge = q)
# 将 DataFrame 写入 CSV 文件
CSV.write("output.csv", df)

报错:UndefVarError: writeshortest not defined
解决:https://discourse.julialang.org/t/csv-write-writeshortest-error/90336/8
Converting the entire data frame content into string type:CSV.write(“temp.csv”,string.(df))
或者更新CSV版本。

文件读写常用函数:
在这里插入图片描述在这里插入图片描述
截图来自菜鸟教程:
Julia 文件(File)读写

加载和保存文件:https://cn.julialang.org/JuliaDataScience/load_save

2、Julia路径拼接函数

using CSV# 定义文件路径
directory = "path/to/directory"
filename = "file.csv"
#表示路径的两种方式:注意双引号
#path = "C:\\Users\\Username\\Documents\\file.txt",用\\
#path = "C:/Users/Username/Documents/file.txt",用/
#不支持类似Python中r转字符# 拼接文件路径
filepath = joinpath(directory, filename)# 读取CSV文件
data = CSV.read(filepath,DataFrame)# 打印数据
println(data)

3、表示一列数据最大值和最小值

struct Datawl::Vector{Float64}
enddata = Data([3.0, 1.0, 4.0, 1.0, 5.0])  # 示例数据h = data.wlmax_h = maximum(h)
min_h = minimum(h)println("h的最大值:", max_h)
println("h的最小值:", min_h)

4、Julia自定义函数并调用

# 定义一个简单的函数
function greet(name)println("Hello, $name! Welcome to Julia programming!")
end# 调用函数
greet("Alice")

实际应用场景:

function estimated_discharge(rc, h)return discharge(rc, minimum(h))
end# 示例数据
h = [1.0, 2.0, 3.0, 4.0, 5.0]  
rc = 0.5  estimated_discharge_values = Float64[]  # 用于存储计算结果的数组for height in hpush!(estimated_discharge_values, estimated_discharge(rc, [height]))#push!是用于向数组(Array)添加元素的函数。当你调用push!(array, element)时,它会将element添加到array的末尾,并返回修改后的数组。#push!函数会改变原始数组,而不是创建一个新的数组。这种操作称为“原地修改”(in-place modification)。
endprintln(estimated_discharge_values)

5、Julia循环语句

for 变量名 in 集合循环体
end

应用:for循环遍历一个文件夹下所有的csv文件

using CSV# 定义文件夹路径
folder_path = "path_to_your_folder"# 获取文件夹中所有文件的列表
files = readdir(folder_path)# 遍历文件夹中的所有文件
for file in filesif endswith(file, ".csv")# 如果文件是CSV文件,则读取文件内容data = CSV.read(joinpath(folder_path, file))# 在这里可以对数据执行任何操作println("处理文件: $file")# 例如,打印数据的前几行println(data[1:3, :])end
end

6、Julia Try-Catch语句

try# 尝试执行的代码块# 如果出现异常,代码将跳转到catch块之后的代码println("尝试执行代码块")error("这里出现了一个异常")
catch# 这里是在出现异常时需要执行的代码块,如果不需要处理异常,可以留空println("出现异常,跳过处理")
endprintln("程序继续执行")

学习资料整理:
1、菜鸟教程:https://www.runoob.com/julia/julia-tutorial.html
2、Julia中文社区:https://cn.julialang.org/JuliaDataScience/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/681574.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chorme浏览器或者edge浏览器使用开发者模式

本篇文章主要讲解edge,因为它内核是chorme,还可以使用微软账号同步,谷歌翻译也凉凉了,edge还可以用翻译,推荐国内windows用户用它。 打开开发者模式 直接按F12点击右上角三个点...,点击更多工具&#xff…

Android 11 输入系统之InputDispatcher和应用窗口建立联系

InputDispatcher把输入事件传给应用之前,需要和应用窗口建立联系,了解了这个过程,就清楚了APP进程和InputDispatcher线程也就是SystemServer进程之间是如何传输数据了 我们向窗口addView的时候,都会调用到ViewRootImpl的setView方…

用户行为分析与内容创新:Kompas.ai的数据驱动策略

在数字化营销的今天,用户行为数据分析已成为内容创新和策略调整的核心。通过深入理解用户的行为模式和偏好,品牌能够创造出更具吸引力和相关性的内容,从而实现精准营销。本文将探讨用户行为数据分析在内容创新和策略调整中的价值,…

洗地机什么品牌好?洗地机怎么选?618洗地机选购指南

随着科技的飞速发展,洗地机以其高效的清洁能力、稳定的性能和用户友好的设计而闻名,不仅可以高效吸尘、拖地,还不用手动洗滚布,已经逐渐成为现代家庭不可或缺的清洁助手。然而,在众多品牌和型号中,如何选择…

【前端热门框架【vue框架】】——事件处理与表单输入绑定以及学习技巧,让学习如此简单

👨‍💻个人主页:程序员-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

DEV--C++小游戏(吃星星(0.2))

目录 吃星星(0.2) 简介 分部代码 头文件(增) 命名空间变量(增) 副函数(新,增) 清屏函数 打印地图函数(增) 移动函数 选择颜色&#xff…

Docker Desktop 修改容器的自启动设置

Docker Desktop 允许用户控制容器的自启动行为。如果你不希望某个容器在 Docker 启动时自动启动,你可以通过以下步骤来更改设置: 1. 打开 Docker Desktop 应用。 2. 点击右上角的设置(Settings)按钮,或者使用快捷键 Cm…

win11环境下,Idea 快捷键shift+f6重命名无法使用

微软自带输入法导致 单击win弹出搜索框

连续31年稳健增长,73.25%分红率再创新高,伊利的实力是什么?

文 | 螳螂观察 作者 | 易不二 4月29日,伊利股份发布2023年年报及2024年一季报。 年报显示,2023年,伊利实现营业总收入1261.79亿元,归母净利润104.29亿元,双创历史新高,实现连续31年稳健增长。公司拟每10…

「网络流 24 题」餐巾计划【费用流】

「网络流 24 题」餐巾计划 思路 我们先建立超级源点 S S S 和超级汇点 T T T,对于每一天,我们将其拆分成两个点 A i A_i Ai​ 和 B i B_i Bi​,其中 A i A_i Ai​ 表示这一天实际消耗的餐巾,连边 S → ∞ A i S \stackrel{…

基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路

摘要:本文整理自云粒智慧高级技术专家付大伟在 4 月 20 日的 2024 OceanBase 开发者大会上的分享,讲述了其数据中台在传统数仓技术框架下做的一系列努力后,跨进 FlinkCDC 结合 OceanBase 的实时数仓演进过程。 内容主要分为以下几个部分: 业务…

HuggingFace烧钱做了一大批实验,揭示多模态大模型哪些trick真正有效

构建多模态大模型时有很多有效的trick,如采用交叉注意力机制融合图像信息到语言模型中,或直接将图像隐藏状态序列与文本嵌入序列结合输入至语言模型。 但是这些trick为什么有效,其计算效率如何,往往解释得很粗略或者或者缺乏充分…