2017-07-25 1 views
4

Je rencontre une erreur lors de la lecture d'un objet plume dans R qui a été éteint à partir d'une session python.Compatibilité python vers R en plumes avec des chaînes

En python:

In [248]: import pandas as pd 

In [249]: pd.DataFrame({'col': ['a','b','c']}).to_feather('strings_df.feather') 

En R:

> library(feather) 
> df = read_feather('strings_df.feather') 
Error in coldataFeather(x, i) : 
    RAW() can only be applied to a 'raw', not a 'list' 

Est-ce lié au fait que les chaînes sont stockées sous forme d'objets dans pandas.Series? Des pensées sur ce qui se passe ici?

info Session:

R

version R 3.3.1 (21/06/2016) Plate-forme: x86_64-pomme-darwin13.4.0 (64 bits) Fonctionnant sous : OS X 10.10.5 (Yosemite)

locale

: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/8-en_US.UTF

paquets de base annexés: [1] Statistiques graphiques grDevices utils
carte méthodes jeux de données

autres des paquets attachés: [1] feather_0.3.0

chargé par l'intermédiaire d'un espace de nommage (et non jointe): [1] assertthat_0. 1 hms_0.2 tools_3.3.1 tibble_1.2 Rcpp_0.12.5

python

« 07.02.10 (par défaut 3 Jul 2015 12:05:53) \ n [GCC 4.2.1 compatibles Apple LLVM 6.1.0 (clang-602.0.53)] '

Pandas Version: '0.20.3'

version Numpy:' 1.13 .1'

+1

Probablement également intéressant de noter les versions des paquets que vous utilisez pandas géants, etc. – lmo

+0

S'il vous plaît inclure tous les lignes de bibliothèque dans R. Contrairement Pandas, toutes les méthodes ne sont pas dans l'un. – Parfait

+1

@lmo Mis à jour avec des informations de session supplémentaires. – andrew

Répondre

0

La question est tout simplement que les valeurs dans une colonne de chaîne doit être de type unicode, pas str. Les travaux suivants comme prévu:

pd.DataFrame({'col': [u'a',u'b',u'c']}).to_feather('strings_df.feather')