r - आर, xlsx या xls में एक्सेल फ़ाइलों को आयात करना




(10)

आपने जांच की है कि आर वास्तव में फ़ाइल को खोजने में सक्षम है, उदाहरण के लिए file.exists ("सी: /AB_DNA_Tag_Numbers.xlsx")? - बेन बोल्कर 14 अगस्त को 23:05 बजे

ऊपर टिप्पणी से आपकी समस्या हल होनी चाहिए:

require("xlsx")
read.xlsx("filepath/filename.xlsx",1) 

उसके बाद ठीक काम करना चाहिए।

कृपया कोई मुझे एक्सेल 2007 (.xlsx) फ़ाइल को आर में आयात करने के सर्वोत्तम तरीके से मदद कर सकता है। मैंने कई तरीकों की कोशिश की है और कोई भी काम नहीं कर रहा है। मैंने 2.13.1, विंडोज एक्सपी, एक्सएलएसएक्स 0.3.0 में अपग्रेड किया है, मुझे नहीं पता कि त्रुटि क्यों आती रहती है। मैंने कोशिश की:

AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx","DNA_Tag_Numbers")

या

AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx",1)

लेकिन मुझे त्रुटि मिलती है:

 Error in .jnew("java/io/FileInputStream", file) : 
  java.io.FileNotFoundException: C:\AB_DNA_Tag_Numbers.xlsx (The system cannot find the file specified)

धन्यवाद।


अद्यतन करें

जैसा कि नीचे दिया गया जवाब अब कुछ हद तक पुराना है, मैं सिर्फ readxl पैकेज पर ध्यान आकर्षित करूंगा । यदि एक्सेल शीट अच्छी तरह से स्वरूपित / लैन आउट है तो मैं अब कार्यपुस्तिका से पढ़ने के लिए readxl का उपयोग करूंगा । यदि चादरें खराब रूप से स्वरूपित / लैन आउट हैं तो मैं अभी भी सीएसवी को निर्यात करूँगा और फिर आर में या तो read.csv() या सादे पुरानी readLines() माध्यम से समस्याओं को read.csv()

मूल

मेरा पसंदीदा तरीका अल्पविराम से अलग मूल्य (सीएसवी) फ़ाइलों में व्यक्तिगत एक्सेल शीट को सहेजना है। विंडोज़ पर, ये फ़ाइलें एक्सेल से जुड़ी हैं, इसलिए आप डबल-क्लिक-ओपन-इन-एक्सेल "फीचर" को नहीं हटाते हैं।

read.csv() फ़ाइलों को read.csv() का उपयोग करके आर में पढ़ा जा सकता है, या यदि आप किसी स्थान पर हैं या read.csv() का उपयोग करते हुए कुछ यूरोपीय सेटिंग्स (जहां , दशमलव स्थान के रूप में उपयोग किया जाता है) के साथ स्थापित कंप्यूटर का उपयोग कर रहे हैं।

इन कार्यों में समझदार डिफ़ॉल्ट हैं जो उचित स्वरूपित फ़ाइलों को सरल बनाते हैं। पहली पंक्ति या कॉलम में नमूने या चर के लिए बस कोई लेबल रखें।

सीएसवी में फाइलों को संग्रहीत करने के लाभ जोड़े गए हैं क्योंकि फाइलें सादे पाठ हैं क्योंकि उन्हें बहुत आसानी से पारित किया जा सकता है और आप भरोसा कर सकते हैं कि वे कहीं भी खुलेंगे; डेटा को देखने या संपादित करने के लिए एक्सेल की आवश्यकता नहीं है।


आपका ऑपरेटिंग सिस्टम क्या है? आर का कौन सा संस्करण आप चल रहे हैं: 32-बिट या 64-बिट? जावा का कौन सा संस्करण आपने स्थापित किया है?

जब मैंने पहली बार read.xlsx() फ़ंक्शन का उपयोग करना शुरू किया था और मुझे पता चला कि मेरी समस्या (जो आपके से संबंधित हो या न हो; कम से कम, इस प्रतिक्रिया को "इसे भी आजमाएं" के रूप में देखा जाना चाहिए) 64-बिट जावा के साथ .xlsx pacakge की असंगतता से संबंधित था। मैं काफी हद तक निश्चित हूं कि .xlsx पैकेज को 32-बिट जावा की आवश्यकता है।

32-बिट आर का प्रयोग करें और सुनिश्चित करें कि 32-बिट जावा स्थापित है। यह आपकी समस्या का समाधान कर सकता है।


जैसा कि यहां कई लोगों ने बताया है, मैं एक ही बात लिख रहा हूं लेकिन एक अतिरिक्त बिंदु के साथ!

सबसे पहले हमें यह सुनिश्चित करने की ज़रूरत है कि हमारे आर स्टूडियो में इन दो पैकेज स्थापित हैं:

  1. "Readxl"
  2. "XLConnect"

आर में एक पैकेज लोड करने के लिए आप नीचे दिए गए फ़ंक्शन का उपयोग कर सकते हैं:

install.packages("readxl/XLConnect")
library(XLConnect)
search()

खोज आपके आर स्टूडियो में उपलब्ध मौजूदा पैकेजों की सूची प्रदर्शित करेगी।

अब एक और पकड़, भले ही आपके पास इन दो पैकेज हो सकते हैं लेकिन फिर भी आपको "xlsx" फ़ाइल पढ़ने के दौरान समस्या आ सकती है और त्रुटि "त्रुटि: कॉलम नाम से अधिक कॉलम" जैसी हो सकती है।

इस समस्या को हल करने के लिए आप बस अपनी एक्सेल शीट "xlsx" को पुनः सहेज सकते हैं

"सीएसवी (कॉमा सीमांकित)"

और आपका जीवन बहुत आसान होगा ....

मज़े करो!!


मैं निश्चित रूप से gdata पैकेज में read.xls फ़ंक्शन का प्रयास gdata , जो xlsx पैकेज से काफी परिपक्व है। इसे पर्ल की आवश्यकता हो सकती है ...


मैंने ऊपर दिए गए सभी उत्तरों पर बहुत मेहनत की है। हालांकि, उन्होंने वास्तव में मदद नहीं की क्योंकि मैंने मैक का इस्तेमाल किया था। रियो लाइब्रेरी में यह आयात फ़ंक्शन है जो मूल रूप से किसी भी प्रकार की डेटा फ़ाइल को रुस्टूडियो में आयात कर सकता है , यहां तक ​​कि उन फ़ाइलों को अंग्रेजी के अलावा अन्य भाषाओं का उपयोग करके भी!

नीचे दिए गए कोड आज़माएं:

    library(rio)
    AB <- import("C:/AB_DNA_Tag_Numbers.xlsx")
    AB <- AB[,1]

उममीद है कि इससे मदद मिलेगी। अधिक विस्तृत संदर्भ के लिए: https://cran.r-project.org/web/packages/rio/vignettes/rio.html


यदि आप एक ही समस्या में चल रहे हैं और आर आपको एक त्रुटि दे रहा है - फ़ंक्शन ".jnew" नहीं ढूंढ सका - बस लाइब्रेरी rJava इंस्टॉल करें। या यदि आपके पास पहले से ही लाइन लाइब्रेरी (आरजेएवी) चला है। यह समस्या होनी चाहिए।

साथ ही, यह सभी को स्पष्ट होना चाहिए कि सीएसवी और टीटीटी फाइलों के साथ काम करना आसान है, लेकिन जीवन आसान नहीं है और कभी-कभी आपको सिर्फ xlsx खोलना होगा।


यदि आप ओपन डॉक्यूमेंट स्प्रेडशीट फ़ाइल ( ओडीएस ) या पुराने एक्सेल प्रारूप में निर्यात करते हैं और इसे ओडीएस रीडर या एक्सेल रीडर के साथ आयात करते हैं, तो आप एकाधिक टैब और अधिक स्वरूपण जानकारी रखने में सक्षम हो सकते हैं।


समाधान के लिए जो बाहरी रूप से बाहरी निर्भरताओं से मुक्त है *, अब readxl :

Readxl पैकेज एक्सेल और डेटा में डेटा प्राप्त करना आसान बनाता है। मौजूदा पैकेजों (जैसे gdata, xlsx, xlsReadWrite) की तुलना में readxl में कोई बाहरी निर्भरता नहीं है, इसलिए सभी ऑपरेटिंग सिस्टमों को इंस्टॉल करना और उपयोग करना आसान है। यह एक शीट में संग्रहीत सारणी डेटा के साथ काम करने के लिए डिज़ाइन किया गया है।

Readxl विरासत .xls प्रारूप और आधुनिक xml- आधारित .xlsx प्रारूप दोनों का समर्थन करता है। .xls समर्थन libxls सी लाइब्रेरी के साथ संभव बनाया गया है, जो अंतर्निहित बाइनरी प्रारूप की कई जटिलताओं को दूर करता है। .xlsx को पार्स करने के लिए, हम RapidXML C ++ लाइब्रेरी का उपयोग करते हैं।

इसे इस प्रकार स्थापित किया जा सकता है:

install.packages("readxl") # CRAN version

या

devtools::install_github("hadley/readxl") # development version

प्रयोग

library(readxl)

# read_excel reads both xls and xlsx files
read_excel("my-old-spreadsheet.xls")
read_excel("my-new-spreadsheet.xlsx")

# Specify sheet with a number or name
read_excel("my-spreadsheet.xls", sheet = "data")
read_excel("my-spreadsheet.xls", sheet = 2)

# If NAs are represented by something other than blank cells,
# set the na argument
read_excel("my-spreadsheet.xls", na = "NA")

* सख्ती से सच नहीं है, इसके लिए Rcpp पैकेज की आवश्यकता है, जिसके बदले में रूटोल्स (विंडोज़ के लिए) या एक्सकोड (ओएसएक्स के लिए) की आवश्यकता होती है, जो आर के बाहर निर्भरताएं हैं। लेकिन उन्हें पथ, इत्यादि के साथ किसी भी झुकाव की आवश्यकता नहीं है, इसलिए जावा और पर्ल निर्भरताओं पर एक लाभ।

अद्यतन अब rexcel पैकेज है। यह Excel फ़ाइल से और आर में एक्सेल स्वरूपण, कार्य और कई अन्य प्रकार की जानकारी प्राप्त करने का वादा करता है।


उदाहरण 2012:

library("xlsx")
FirstTable <- read.xlsx("MyExcelFile.xlsx", 1 , stringsAsFactors=F)
SecondTable <- read.xlsx("MyExcelFile.xlsx", 2 , stringsAsFactors=F)
  • मैं 'xlsx' पैकेज का प्रयास करूंगा क्योंकि इसे संभालना आसान है और पर्याप्त परिपक्व लगता है
  • मेरे लिए अच्छा काम किया और पर्ल या जो भी कुछ भी शामिल नहीं किया

उदाहरण 2015:

library("readxl")
FirstTable  <- read_excel("MyExcelFile.xlsx", 1)
SecondTable <- read_excel("MyExcelFile.xlsx", 2)
  • आजकल मैं readxl उपयोग करता readxl और इसके साथ अच्छा अनुभव करता हूं।
  • कोई अतिरिक्त सामान की जरूरत नहीं है
  • अच्छा प्रदर्शन