初学者使用R语言读取excel/csv/txt的注意事项

2023-11-04


本文首发于:医学和生信笔记,完美观看体验请至公众号查看本文。


本文面向R语言初学者,尤其是生物医药领域的初学者,大佬勿喷~

在之前的推文中,我们用两个视频详细介绍了R语言、rtools、Rstudio以及R包的安装,解决新手最先碰到的两大难题!

接下来大家就面临把数据读入R语言、把数据另存为其他格式的问题!

大家在日常生活中遇到的最多的数据应该还是Excel数据,但是对于R语言来说,我们必须要把外部数据读入到R里面,才能进行各种操作。对于我们最后的数据,可能还需要再保存为excel格式。

这两个问题对于会的人来说非常简单,可以有多种方法可以实现,但是对于新手来说却经常遇到报错。今天从一个新手的角度说一说R语言的数据读入和另存问题。

把数据读入R语言

Excel

这个格式太常见了,大家日常生活用的大部分都是这种格式。比如有这么一个excel文件:data.xlsx,它里面的内容是这样的:
示例excel

现在我们需要把它读入R里面。我推荐你使用readxl包读取Excel文件。首先我们要安装这个R包,如果你还不会R包安装常见的4种方式,赶紧去看这个视频:xxxxxxxxxxxxx。

install.packages("readxl")

安装好之后,我们需要加载这个R包才能使用:

library(readxl)

然后我们就可以读入这个文件了,读取时,你必须指明你的文件在哪里! 如果文件路径没写对,就会出现下面这种类似的报错,一般情况下,它会告诉你,你的路径没写对,或者找不到这个文件,这个文件不存在,不能打开连接等等错误!!

tmp <- read_xlsx("E:/data.xlsx", col_names = T)

## Error: `path` does not exist: ‘E:/R/data.xlsx’

这个时候你就要去确认下,你的这个data.xlsx文件到底在哪里!当你给它正确的路径时,它就不会报错。还要注意/ \ , " ",这些标点一定要在英文状态下输入!

tmp <- read_xlsx("E:/R/data.xlsx", col_names = T)

tmp
## # A tibble: 29 × 6
##     编号 治疗方式 性别   年龄 收缩压  血糖
##    <dbl> <chr>    <chr> <dbl>  <dbl> <dbl>
##  1     1 方法1    男       56    134   6.3
##  2     2 方法2    女       45    123   4.6
##  3     3 方法3    男       67    112   7.4
##  4     4 方法4    女       56    113   8.5
##  5     5 方法5    男       78    115   6.3
##  6     6 方法6    女       56    116   4.6
##  7     7 方法7    男       67    134   7.4
##  8     8 方法8    女       45    123   8.5
##  9     9 方法9    男       67    112   6.3
## 10    10 方法10   女       87    113   4.6
## # … with 19 more rows
## # ℹ Use `print(n = ...)` to see more rows

这样我们就成功把文件读取到R里面了!

除了路径问题,对于新手还有几个点需要注意:

  • 这个示例文件是有列名的,所以在读取的时候加了col_names=T这个参数,没有行名就要改成F
  • 如果你的数据使用了合并/拆分单元格、各种格式、公式等,会报错!
  • 这个文件是.xlsx格式的,如果不是,那你需要用其他函数,比如read_xls()函数读取.xls结尾的文件;
  • 如果你读取中文遇到乱码问题,那大概率是遇到了编码问题,这是一个很复杂的问题:
    • 首先你可以通过点击rstudio中的Tools - Global Options,到达以下界面,把默认编码方式改为utf-8,然后关闭rstudio,重新读取;
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0LkHBpNt-1668216404004)(C:\Users\liyue\Desktop\Snipaste_2022-07-31_19-13-14.png)]
    • 有时直接升级R包/R/rstudio/,重新保存文件为utf-8等方式也可以解决问题;
    • 如果都不行,直接百度!具体情况具体分析!

csv

csv文件是一种逗号分隔文件,打开后和excel看起来一模一样,你不要问为什么看不到逗号…
csv文件

一般推荐把excel文件另存为csv文件,因为方便R语言读取,不需要安装R包也可以读取~

csv <- read.csv("E:/R/data.csv", header = T)

csv
##    编号 治疗方式 性别 年龄 收缩压 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

或者用read.table()函数读取。

csv <- read.table("E:/R/data.csv", header = T,
                  sep = "," # 指定分隔符!!
                  )

csv
##    编号 治疗方式 性别 年龄 收缩压 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

是不是很简单,注意点和excel一样~

txt

txt文件也是我们常见的文件类型,通常这种数据也是可以直接读取的,不同安装R包。

现在我们有一个这样的txt文件,它可能看起来不规整,但其实是规整的哦~~,不要被表象迷惑,也千万不要试图用空格键把它对齐!!
txt文件

txt是tab键分隔的文件,在读取时,一定要指定分隔符:

tmp <- read.table("tmp.txt",sep = "\t", # 必须要指定分隔符
                  header = T)
tmp
##    编号 治疗方式 性别 年龄 收缩压 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

其他

如果是spss软件产生的.sav文件,可以使用foreign包中的read.spss()函数读取,或者使用haven包中的read_sav()

这两个包在使用前需要先安装哦~

# foreign包读取
library(foreign)
spss <- foreign::read.spss("例03-05.sav",to.data.frame = T)

spss
##    no  hb
## 1   1 112
## 2   2 137
## 3   3 129
## 4   4 126
## 5   5  88
## 6   6  90
## 7   7 105
## 8   8 178
## 9   9 130
## 10 10 128
## 11 11 126
## 12 12 103
## 13 13 172
## 14 14 116
## 15 15 125
## 16 16  90
## 17 17  96
## 18 18 162
## 19 19 157
## 20 20 151
## 21 21 135
## 22 22 113
## 23 23 175
## 24 24 129
## 25 25 165
## 26 26 171
## 27 27 128
## 28 28 128
## 29 29 160
## 30 30 110
## 31 31 140
## 32 32 163
## 33 33 100
## 34 34 129
## 35 35 116
## 36 36 127
# haven包读取
library(haven)
spss <- read_sav("例03-05.sav")

spss
## # A tibble: 36 × 2
##       no    hb
##    <dbl> <dbl>
##  1     1   112
##  2     2   137
##  3     3   129
##  4     4   126
##  5     5    88
##  6     6    90
##  7     7   105
##  8     8   178
##  9     9   130
## 10    10   128
## # … with 26 more rows
## # ℹ Use `print(n = ...)` to see more rows

这个例子是比较简单的,有时候需要指定特定的编码方式,可以通过使用?read_sav/?read.spss查看更改编码的方式。

haven这个包是专门设计用来读取spss/SAS/STATA格式的文件的~

如果是rdata/Rdata/RData文件,这个是R自带的格式,直接load()即可,但是要注意一定要写对文件路径!! 或者也可以直接双击rdata/Rdata/RData文件!

load(file = "tmp.rdata")
tmp
##    编号 治疗方式 性别 年龄 收缩压 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

如果是rds文件,这个也是R常用的格式,使用readRDS()函数即可,也要注意文件路径

tmp <- readRDS(file = "tmp.rds") 
tmp
##    编号 治疗方式 性别 年龄 收缩压 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

常见的就是这些,当你掌握这些简单的之后,你可以尝试更加复杂的,以后肯定也会遇到,不过有了这些简单的作为基础,相信你能更快的解决这类问题~

写出文件(从R语言另存为其他格式)

写出文件我觉得比读取文件要简单一点,如果你实在不知道怎么保存,有个简便方法,在这个地方:
一键保存所有

直接点击保存,就会在你当前工作目录产生一个RData文件,下次直接load或者双击即可快速打开你的所有东西!!!

不太推荐直接保存为excel格式,建议使用csv格式。

如果是想把当前文件保存为csv文件,可以使用以下函数:

# 把tmp这个数据框保存为csv
write.csv(tmp, # 要保存的对象
          file = "D:/111.csv", # 保存到哪里,保存为什么格式,.csv不要忘记!
          quote = F, # 不加引号
          row.names = F, # 行名
          col.names = T # 列名
          )

write.table(tmp,
            file = "D:/111.csv", # 保存到哪里,保存为什么格式,.csv不要忘记!
            sep = ",",  # 必须指定分隔符!!!
            quote = F, # 不加引号
            row.names = F, # 行名
            col.names = T # 列名
            )

如果要保存为或者txt文件,可以使用以下函数:

write.table(tmp,
            file = "D:/222.txt",
            sep = "\t", # 千万别忘记指定分隔符!!
            quote = F, # 不加引号
            row.names = F, # 行名
            col.names = T # 列名
            )

如果要保存为rdata/Rdata/RData文件,直接用save()函数,简单方便,下次直接load即可,还可以同时保存多个对象!!

推荐大家平时保存时选择rdata/Rdata/RData/rds,方便,官方!

save(tmp,csv, # 同时保存多个对象
     file = "tmp1.rdata")

保存为rds格式:

saveRDS(tmp, file = "tmp.rds")

以上就是常见的数据读取和写出,最后再说一遍注意点:

  • 输入法需要是英文状态下的标点符号!
  • 文件路径必须写对!
  • 注意不同文件的分隔符!
  • 不同文件使用不同函数读取/写出!不要所有的格式都用一个!
  • 如果碰到不知道的格式读取,直接百度!!99.999%能解决你的问题!

希望大家以后再也不要碰到数据读取问题!


本文首发于:医学和生信笔记,完美观看体验请至公众号查看本文。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初学者使用R语言读取excel/csv/txt的注意事项 的相关文章

  • 如何使用 xlwings 从 Python 调用 Excel 宏?

    我读过API docs http docs xlwings org api html对于 xlwings 并在解释器中使用 Workbook 和 Sheet 对象 但我不知道如何从 Python 调用宏 如何使用 xlwings 从 Pyt
  • 使用用户定义函数的 VBA 数据验证

    我有一个用户定义的函数 我想在自定义数据验证中使用它 我的函数工作正常 但是当我在数据验证中使用它时 每次都会出错 有代码 Public Function AlphaNumeric pValue As Boolean Dim LPos As
  • VBA中如何四舍五入到小数点后两位?

    在单元格 B2 中 在进行计算之前 我的变量值为 297 123 在 VBA 中 我想将其四舍五入为 297 12 请参阅下面的代码了解我的尝试 两者都将燃油评估为 297 我做错了什么 Dim fuel As Integer Dim li
  • 使用 If 语句执行 Do Until 直到达到特定值

    我正在处理一份大数据表 我需要代码从特定单元格中减去 直到该值大于某个数字 如果这个数字没有达到 我希望它变成0 例如如果A3 A2 gt Q5 then E3 A3 A2 if lt Q5 do A3 A1 如果这不起作用E2 0 我需要
  • 使用 Python 将 Excel 中的图表导出为图像

    我一直在尝试将 Excel 中的图表导出为 Python 中的图像文件 JPG 或 ING 我正在查看 WIn32com 这是我到目前为止所拥有的 import win32com client as win32 excel win32 ge
  • 使用 xlwings 排序(pywin32)

    我需要使用 python 按给定行对 Excel 电子表格进行排序 为了进行测试 我使用以下数据 在名为 xlwings sorting xlsx 的文件中 Numbers Letters Letters 2 7 A L 6 B K 5 C
  • VBA - 填充自定义功能区下拉列表/列表框

    我无法填充下拉列表 列表框 原始代码来自 https exceloffthegrid com inserting a dynamic drop down in ribbon https exceloffthegrid com inserti
  • Excel - 确定排列的奇偶性

    我正在处理一个 Excel 工作表 需要确定大小数字的垂直数组的奇偶校验N 该数组包含来自的每个数字1 to N每一次正好一次 在这种情况下 奇偶校验被定义为将加扰数组转换为从小到大排序的数组所需的交换次数 例如 数组 3 1 2 4 具有
  • 更改列标签?例如:将“A”列更改为“名称”列

    谁能告诉我如何更改列标签 例如 我想将列 A 更改为列 名称 Excel Excel 的版本是什么 一般来说 您无法更改列字母 它们是 Excel 系统的一部分 您可以使用工作表中的一行来输入您正在使用的表格的标题 表标题可以是描述性列名称
  • VBA - HTML 抓取问题

    我正在尝试从网站上抓取拍卖数据https www rbauction com heavy equipment auctions https www rbauction com heavy equipment auctions 我当前的尝试是
  • 将按颜色过滤的行复制到新工作表

    我有一个 Excel 电子表格 如下所示 Job1 Job2 Job3 Job4 Job5 Job1 Job2 Job3 Job4 Job5 每行和列之间的单元格颜色不同 我需要按橙色对每列进行排序 然后将行名称复制到新工作表中 所以最后我
  • 如何在VBA编辑器中跳转到行号?

    我在 Office 2010 中使用 VBA 在顶部 有一个带有行号和列号的框 例如 Ln 1480 Col 17 有没有办法在代码编辑中 而不是在执行中 直接跳转到另一个行号 就像我使用的那样Ctrl G在记事本中 这个MSDN答案 ht
  • Excel 工作簿 - 从 C# 读取速度非常慢?

    正在尝试读取 Excel 工作簿 发现读取 3560 行 7 列的工作表需要很长时间 大约需要 1 分 17 秒 我所做的就是循环遍历整个工作表并将值存储在列表中 这是正常现象 还是我做错了什么 static void Main strin
  • 使用 ObjPtr(Me) 返回自定义类实例的名称?

    我明白那个ObjPtr http support microsoft com kb 199824将返回内存中对象的地址 并且它指向一个名为 IUNKNOWN 的结构 并且其中编码了某种接口定义以公开对象结构 但我不知道如何确定一个对象的接口
  • VBA 完成 Internet 表单

    我正在寻找将 Excel 中的值放入网页的代码 Sub FillInternetForm Dim IE As Object Set IE CreateObject InternetExplorer Application IE naviga
  • VBA 中 AND 函数如何工作?

    如果这是一个愚蠢的问题 我很抱歉 但是 Excel VBA AND 函数是否检查其中的每个条件然后继续 或者在第一个 FALSE 条件处停止而不检查其他条件 我想知道出于优化目的 但到目前为止在网上没有找到任何相关信息 提前致谢 示例 如果
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da

随机推荐

  • 常见的内存泄漏原因和解决方案

    常见的内存泄漏原因和解决方案 1 全局引用 问题 在JavaScript代码中 使用全局变量或全局对象来保存对DOM元素或其他对象的引用 这可能导致内存泄漏 解决方案 避免使用全局变量或全局对象 改用合适的作用域来管理变量和对象的生命周期
  • 【STM32】-串口调试中软硬件问题定位过程分享

    1 概述 串口调试中难免会遇到问题 对于新手来说 会觉得无从下手 或急于修改代码 查找软件原因 本文将分享调试中遇到的问题及排故思路 供读者参考 学习 2 问题描述 在将原工程文件移植到原子阿波罗开发板 其他开发板类似 后 上位机无法接收到
  • 【毕业设计】人脸识别算法研究与实现 - 深度学习 机器学习

    文章目录 0 前言 1 机器学习 人脸识别过程 1 1 人脸检测 1 2 人脸对齐 1 3 人脸特征向量化 1 4 人脸识别 2 深度学习 人脸识别过程 2 1 人脸检测 2 2 人脸识别 3 最后 0 前言 Hi 大家好 这里是丹成学长的
  • 2013年4月10日星期三 (DEMO7——6使用blitter)

    本来打算晚上进行封装 不过由于上午进行HDR 只剩下RENDERBLOOM 了 有些疲倦 不妨先进行封装 闲话少说 现在是14 18 开始进行了 这1节还是开头强调了硬件局限性 目前当然没有这个问题了 只考虑封装方法吧 大概浏览了一下这一节
  • 0.0.0.0 网关的含义

    简介 使用 route 命令查看linux的路由时候常遇到 gateway为0 0 0 0 的情况 注意不是目标网段 让人很困惑 仔细看看这些网卡往往时候一些虚拟出来的网卡 比如docker0 0 0 0 0 或者 表示不需要路由 目标地址
  • Addressables学习笔记3: 实际操作实现资源热更新

    本篇基本上是官方演示的东西 介绍一下如何快速使用Addressables实现资源热更 为了能够热更资源 你需要有一个资源服务器使你能下载资源 一 资源准备 首先打开Unity编辑器菜单 gt Window gt Asset Manageme
  • 通用工具类

    package com struts2 jquery utils import java io File import java io IOException import java io OutputStream import java
  • 驱动级鼠标模拟实现_S71500PLC 连接 V90 伺服系统实现位置闭环控制

    S7 1500 运动控制功能支持旋转轴 定位轴 同步轴和外部编码器等工艺对象 并拥有轴控制面板以及全面的在线和诊断功能有助于轻松完成驱动装置的调试和优化工作 S7 1500 支持多种连接方式 可以使用 PROFIBUS DP 和 PROFI
  • Android缓存机制&一个缓存框架推荐

    1 先推荐一个轻量级缓存框架 ACache ASimpleCache ACache介绍 ACache类似于SharedPreferences 但是比 SharedPreferences功能更加强大 SharedPreferences只能保存
  • yagmail群发邮件

    直接给代码 导入yagmail第三方库 import yagmail yagmail SMTP user 邮箱名 host SMTP服务器域名 yag yagmail SMTP user 284036658 qq com host smtp
  • 零信任提升组织的数字安全性

    组织越来越多地实施零信任策略以增强其数字安全状况 根据 信息安全杂志 的统计 有15 的组织表示他们在2019年底之前实施了零信任策略 另有59 的参与者表示 他们打算在未来12个月内实施 要了解为什么如此众多的组织涌向零信任 首先要深入了
  • 性能测试工具---JMeter的安装与使用详解(第一篇)

    目录 一 主流性能测试工具 1 1 LoaderRunner 1 2 JMeter 二 JMeter环境搭建 2 1下载安装JDK 2 2 下载安装JMeter 2 3 JMeter文件目录介绍 2 3 1 bin目录 2 3 2 docs
  • python 写文件 换行_python中写入txt文件需要换行,以及\r 和\n

    在Python中 用open 函数打开一个txt文件 写入一行数据之后需要一个换行 如果直接用 f write n 只会在后面打印一个字符串 n 而不是换行 需要用 f write r n 注意点 1 python文件写入的时候 当写入一段
  • 【SpringBoot学习】05-自定义LocaleResolver国际化区域语言

    首先配置好i18n文件 以及所对应的语言 在properties中配置 因为默认为 message spring messages basename i18n xxxx 页面内容替换 配置点击 配置一个 LocaleResolver 自定义
  • 十种常用机器学习算法入门

    弱人工智能近几年取得了重大突破 悄然间 已经成为每个人生活中必不可少的一部分 以我们的智能手机为例 看看到底温藏着多少人工智能的神奇魔术 下图是一部典型的智能手机上安装的一些常见应用程序 可能很多人都猜不到 人工智能技术已经是手机上很多应用
  • 【Linux】动静态库

    文章目录 1 动静态库的原理 2 动态库和静态库基础 3 动静态库的实现 3 1设计一个静态库 3 2设计一个动态库 4 动静态库的使用 4 1静态库的使用 4 2动态库的使用 4 3动态库的多进程共享原理 1 动静态库的原理 源文件和头文
  • KAFKA基础操作命令

    1 查看所有的话题 topic kafka topics sh zookeeper 10 10 6 98 2181 kafka list 2 删除 topic kafka topics sh zookeeper 10 10 6 99 218
  • 华为虚拟桌面发放流程【FusionAccess】——详解

    华为FusionAccess作为一个桌面云接入管理系统 以服务器虚拟化为基础 共享CPU 内存 网络连接 存储器等底层物理硬件资源 使用户桌面以虚拟机的形式独立运行 虚拟机彼此隔离 提供给用户使用 那么虚拟机是如何一步步为用户所用呢 众所周
  • Leetcode 347. 前 K 个高频元素(堆实现)

    前 K 个高频元素 堆实现 给定一个非空的整数数组 返回其中出现频率前 k 高的元素 示例 1 输入 nums 1 1 1 2 2 3 k 2 输出 1 2 示例 2 输入 nums 1 k 1 输出 1 class Solution pu
  • 初学者使用R语言读取excel/csv/txt的注意事项

    本文首发于 医学和生信笔记 完美观看体验请至公众号查看本文 文章目录 把数据读入R语言 Excel csv txt 其他 写出文件 从R语言另存为其他格式 本文面向R语言初学者 尤其是生物医药领域的初学者 大佬勿喷 在之前的推文中 我们用两