Tolong bisakah seseorang membantu saya tentang cara terbaik untuk mengimpor file excel 2007 (.xlsx) ke R. Saya telah mencoba beberapa metode dan sepertinya tidak ada yang berhasil. Saya telah mengupgrade ke 2.13.1, windows XP, xlsx 0.3.0, saya tidak tahu mengapa kesalahan terus muncul. Saya mencoba:
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx","DNA_Tag_Numbers")
ATAU
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx",1)
tapi saya mendapatkan kesalahan:
Error in .jnew("java/io/FileInputStream", file) :
java.io.FileNotFoundException: C:\AB_DNA_Tag_Numbers.xlsx (The system cannot find the file specified)
Terima kasih.
.csv
.file.exists("C:/AB_DNA_Tag_Numbers.xlsx")
?Jawaban:
Untuk solusi yang bebas dari dependensi eksternal fiddly *, sekarang ada
readxl
:Itu dapat diinstal seperti ini:
install.packages("readxl") # CRAN version
atau
devtools::install_github("hadley/readxl") # development version
Pemakaian
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")
* tidak sepenuhnya benar, itu membutuhkan
Rcpp
paket , yang pada gilirannya membutuhkan Rtools (untuk Windows) atau Xcode (untuk OSX), yang merupakan dependensi di luar R. Tetapi mereka tidak memerlukan mengutak-atik jalur, dll., jadi itu adalah keuntungan atas ketergantungan Java dan Perl.Perbarui Sekarang ada paket rexcel . Ini menjanjikan untuk mendapatkan pemformatan Excel, fungsi, dan banyak jenis informasi lainnya dari file Excel dan ke R.
sumber
Anda mungkin juga ingin mencoba paket XLConnect. Saya lebih beruntung darinya daripada xlsx (ditambah lagi bisa membaca file .xls juga).
library(XLConnect) theData <- readWorksheet(loadWorkbook("C:/AB_DNA_Tag_Numbers.xlsx"),sheet=1)
juga, jika Anda mengalami masalah dengan file Anda tidak ditemukan, coba pilih dengan file.choose ().
sumber
readWorksheet(loadWorkbook(...))
Anda dapat melakukan hal yang sama dengan lebih ringkasreadWorksheetFromFile(...)
.Saya pasti akan mencoba
read.xls
fungsi dalamgdata
paket, yang jauh lebih matang daripadaxlsx
paket. Ini mungkin membutuhkan Perl ...sumber
Memperbarui
Karena Jawaban di bawah sekarang agak ketinggalan jaman, saya hanya akan menarik perhatian ke paket readxl . Jika lembar Excel diformat / diletakkan dengan baik maka saya sekarang akan menggunakan readxl untuk membaca dari buku kerja. Jika lembaran diformat / diletakkan dengan buruk maka saya masih akan mengekspor ke CSV dan kemudian menangani masalah di R baik melalui
read.csv()
atau biasareadLines()
.Asli
Cara yang saya sukai adalah menyimpan setiap lembar Excel dalam file nilai yang dipisahkan koma (CSV). Di Windows, file-file ini dikaitkan dengan Excel sehingga Anda tidak kehilangan "fitur" klik ganda-buka-di-Excel.
File CSV dapat dibaca menjadi R menggunakan
read.csv()
, atau, jika Anda berada di lokasi atau menggunakan komputer yang diatur dengan beberapa pengaturan Eropa (,
yang digunakan sebagai tempat desimal), menggunakanread.csv2()
.Fungsi ini memiliki default yang masuk akal yang membuat membaca file yang diformat dengan tepat menjadi sederhana. Simpan saja label untuk sampel atau variabel di baris atau kolom pertama.
Manfaat tambahan dari menyimpan file dalam CSV adalah karena file tersebut berupa teks biasa, file dapat diedarkan dengan sangat mudah dan Anda dapat yakin bahwa file akan terbuka di mana saja; orang tidak perlu Excel untuk melihat atau mengedit data.
sumber
read.xlsx()
dan memiliki versi terbaru dari paket tersebut dan R, kemudian kirim email ke pengelola paket untuk melaporkan potensi bug.Contoh 2012:
library("xlsx") FirstTable <- read.xlsx("MyExcelFile.xlsx", 1 , stringsAsFactors=F) SecondTable <- read.xlsx("MyExcelFile.xlsx", 2 , stringsAsFactors=F)
Contoh 2015:
library("readxl") FirstTable <- read_excel("MyExcelFile.xlsx", 1) SecondTable <- read_excel("MyExcelFile.xlsx", 2)
readxl
dan telah membuat pengalaman yang baik dengannya.sumber
Paket baru ini terlihat bagus http://cran.r-project.org/web/packages/openxlsx/openxlsx.pdf Tidak memerlukan rJava dan menggunakan 'Rcpp' untuk kecepatan.
sumber
Jika Anda mengalami masalah yang sama dan R memberi Anda kesalahan - tidak dapat menemukan fungsi ".jnew" - Instal saja pustaka rJava. Atau jika Anda sudah memilikinya jalankan saja perpustakaan baris (rJava). Seharusnya itu masalahnya.
Juga, harus jelas bagi semua orang bahwa file csv dan txt lebih mudah untuk dikerjakan, tetapi hidup tidak mudah dan terkadang Anda hanya perlu membuka xlsx.
sumber
gdata
saya mendapatkan pesan startupgdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
Kedengarannya bagi saya seperti itu harus membuka file xlsx, meskipun memang saya belum mengujinya baru-baru ini ...gdata
versi 2.8.2 membacaxlsx
file denganread.xls
fungsi tersebut.Saya baru-baru ini menemukan fungsi Schaun Wheeler untuk mengimpor file excel ke R setelah menyadari bahwa paket xlxs belum diperbarui untuk R 3.1.0.
https://gist.github.com/schaunwheeler/5825002
Nama file harus memiliki ekstensi ".xlsx" dan file tidak dapat dibuka saat Anda menjalankan fungsinya.
Fungsi ini sangat berguna untuk mengakses karya orang lain. Keuntungan utama dari penggunaan fungsi read.csv adalah when
Menggunakan fungsi read.csv membutuhkan pembukaan dan penyimpanan manual setiap dokumen Excel yang memakan waktu dan sangat membosankan. Oleh karena itu, menggunakan fungsi Schaun untuk mengotomatiskan alur kerja merupakan bantuan yang sangat besar.
Alat peraga besar untuk Schaun untuk solusi ini.
sumber
Bagi saya paket openxlx bekerja dengan cara termudah.
install.packages("openxlsx") library(openxlsx) rawData<-read.xlsx("your.xlsx");
sumber
Apa sistem operasi Anda? Versi R apa yang Anda jalankan: 32-bit atau 64-bit? Versi Java apa yang telah Anda instal?
Saya mengalami kesalahan serupa saat pertama kali mulai menggunakan
read.xlsx()
fungsi tersebut dan menemukan bahwa masalah saya (yang mungkin atau mungkin tidak terkait dengan masalah Anda; minimal, respons ini harus dilihat sebagai "coba ini juga") terkait dengan ketidaksesuaian dari .xlsx pacakge dengan 64-bit Java. Saya cukup yakin bahwa paket .xlsx membutuhkan Java 32-bit.Gunakan R 32-bit dan pastikan Java 32-bit telah diinstal. Ini mungkin mengatasi masalah Anda.
sumber
Komentar di atas seharusnya menyelesaikan masalah Anda:
require("xlsx") read.xlsx("filepath/filename.xlsx",1)
harus bekerja dengan baik setelah itu.
sumber
Anda mungkin dapat menyimpan banyak tab dan lebih banyak informasi pemformatan jika Anda mengekspor ke file OpenDocument Spreadsheet ( ods ) atau format Excel yang lebih lama dan mengimpornya dengan pembaca ODS atau pembaca Excel yang Anda sebutkan di atas.
sumber
Seperti yang dinyatakan oleh banyak orang di sini, saya menulis hal yang sama tetapi dengan poin tambahan!
Pertama-tama kami perlu memastikan bahwa R Studio kami menginstal dua paket ini:
Untuk memuat paket di R Anda dapat menggunakan fungsi di bawah ini:
install.packages("readxl/XLConnect") library(XLConnect) search()
pencarian akan menampilkan daftar paket saat ini yang tersedia di R Studio Anda.
Sekarang tangkapan lain, meskipun Anda mungkin memiliki dua paket ini tetapi masih Anda mungkin mengalami masalah saat membaca file "xlsx" dan kesalahannya bisa seperti "error: lebih banyak kolom daripada nama kolom"
Untuk mengatasi masalah ini, Anda cukup menyimpan kembali lembar excel "xlsx" Anda ke
dan hidupmu akan sangat mudah ....
Selamat bersenang-senang!!
sumber
Saya telah berusaha keras untuk semua jawaban di atas. Namun, mereka sebenarnya tidak membantu karena saya menggunakan mac. The perpustakaan rio memiliki fungsi impor ini yang pada dasarnya dapat mengimpor semua jenis file data ke dalam Rstudio , bahkan berkas yang menggunakan bahasa selain bahasa Inggris!
Coba kode di bawah ini:
library(rio) AB <- import("C:/AB_DNA_Tag_Numbers.xlsx") AB <- AB[,1]
Semoga bantuan ini. Untuk referensi lebih detail: https://cran.r-project.org/web/packages/rio/vignettes/rio.html
sumber