【问题标题】:Storing lists in csv to access in r在 csv 中存储列表以在 r 中访问
【发布时间】:2018-08-01 10:09:54
【问题描述】:

我一直将我的数据存储在如下结构中:

dictionary = {'name': 'Jeff', 'state': 'CA', finish_times: [17.34, 12.23]}

当我将它写入csv时,我只希望这些数据占一行,所以像:

 Name   State   Finish_Times
'Jeff'  'CA'   [17.34, 12.23]

而且我已经能够将数据完全写入 csv。问题是我无法在 R 中操作列表。有没有办法将列表转换为 R 可管理的格式?还是我必须重组我的数据?

编辑:感谢所有回复,我尝试过使用 JSON,但我想我只是要在 python 中操作我抓取的数据。这样我就可以正确解释我正在制作的列表和字典。

【问题讨论】:

  • 你熟悉熊猫吗?
  • 这里没有列表。 csv 是一系列字节。这些字节中表示有一个有效的 python 列表文字,但 R 不知道也不关心。 正确的 解决方案是使用某种常见的序列化格式。一种选择是使用 JSON,一种流行的基于文本的序列化格式。
  • 根据这个答案:stackoverflow.com/questions/2061897/parse-json-with-r 有几个可用于 R 的 JSON 库。Python 标准库带有 json 模块。我不确定 什么 i> 一种 R 容器,JSON 对象将被反序列化为(Python dict 对象将被序列化为 JSON 对象,注意,JSON 看起来很像 Python 文字,实际上,大多数有效的 JSON 是有效的 Python 文字(一个例外, JSON 使用 null 而不是 None)。

标签: python r list csv


【解决方案1】:

你可以使用jsonlite library

您可以像这样将json 格式转换为data frame

library(jsonlite)
json <-
'[
  {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, 
  {"Name" : "Peach", "Age" : 21, "Occupation" : "Princess"},
  {},
  {"Name" : "Bowser", "Occupation" : "Koopa"}
]'
mydf <- fromJSON(json)
mydf

这会给你一个这样的数据框:

   Name   Age  Occupation
1  Mario  32    Plumber
2  Peach  21   Princess
3   <NA>  NA       <NA>
4 Bowser  NA      Koopa

获得data frame 后,您可以将其保存到csv

write.csv(mydf,"myfile.csv",row.names = FALSE)

这是一个小tutorial

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多