【发布时间】:2019-06-06 17:03:43
【问题描述】:
我有一个包含两列的 CSV 文件。第一列是%m/%d/%y 格式的日期,第二列是小写/大写字母数字字符的组合。有时每个日期可能有 >1 个主机名,在这种情况下,它们用逗号分隔,有时主机名可能包含特殊字符,如连字符或句点。
我还要提一下,这个文件描述了主机从网络中被禁用的那一天。
这是一个示例:
6/7/17 ml12308sASd
8/28/17 Mloasjdiaosjd1028knsd, mlsaj19209s, asd12122sda
8/28/17 Amandas-macbook.local
9/13/18 john-deers_win.local
我正在尝试创建一个时间线,显示 X 天 XYZ 主机被禁用。
这是我的基本 R 脚本,用于描述 R 读取我的 csv 文件的数据类型:
df <-read.csv("users_per_date.csv")
colnames(df) <- c("Start","Host")
x <- typeof(df)
print(x)
[1] "list"
任何关于 R 或 Python 的帮助将不胜感激!
【问题讨论】:
-
数据导入R后的结构是什么?
-
数据导入后的结构是一个列表。
-
我看到的一个问题是您正在读取 csv,同时用逗号分隔应该存在于同一组中的变量,这些变量将在
read.csv期间分隔。因此,您将获得一个列表[1] 6/7/17 [2] ml12308sASd [3] 8/28/17 [4] Mloasjdiaosjd1028knsd [5] mlsaj19209s [6] asd12122sda [7] 8/28/17,这会使事情变得复杂。在聚合之前,您必须弄清楚如何将其放入结构化数据框中,就像您在示例中显示的那样。 -
我可以根据需要使用 bash 来解析它......也许是以下?
cat users_per_date.csv | sed 's/,/ /g' > text.txt这将用空格替换所有逗号并转换为文本文件。这会使您想象的数据类型标准化吗?
标签: python r csv plot timeline