read_csv() से CSV फ़ाइलें पढ़ना
कॉलम प्रकार अनुमान, स्किप करने और एन्कोडिंग विकल्पों के साथ सीमांकित files इम्पोर्ट करें।
read_csv() से CSV फ़ाइलें पढ़ना, CoddyKit पर R Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह R Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Base R के बजाय readr क्यों?
Base R में read.csv() उपलब्ध है, लेकिन readr पैकेज का read_csv() अधिक तेज़ है, डेटा फ़्रेम के बजाय टिबल लौटाता है, डिफ़ॉल्ट प्रकारों का बेहतर अनुमान देता है और पहचाने गए कॉलम प्रकारों के बारे में जानकारीपूर्ण संदेश दिखाता है।
library(readr)
# read_csv() vs read.csv():
# 1. Returns a tibble (prints nicely, faster subsetting)
# 2. Does NOT convert strings to factors by default
# 3. Shows column specification message
# 4. Faster for large files
# Example with a simple inline CSV:
df <- read_csv('name,score,grade
Alice,85,B
Bob,92,A
Carol,78,C')
print(df)
print(class(df))फ़ाइल पथ से read_csv() का उपयोग
सबसे सामान्य उपयोग में, read_csv() को फ़ाइल पथ की स्ट्रिंग दी जाती है। यह फ़ंक्शन स्वचालित रूप से सीमांकक के रूप में कॉमा पहचानता है, पहली पंक्ति को शीर्षक के रूप में पढ़ता है और पहली 1000 पंक्तियों से कॉलम प्रकारों का अनुमान लगाता है।
library(readr)
# Reading from a file path (illustrative — file not present)
# df <- read_csv('data/sales_2024.csv')
# Reading from a URL also works:
# df <- read_csv('https://example.com/data.csv')
# Using a literal inline string for demonstration:
df <- read_csv('region,q1,q2,q3
East,100,120,115
West,200,195,210
North,80,85,90')
print(df)col_types — कॉलम प्रकार निर्दिष्ट करना
readr के प्रकार अनुमान को बदलने के लिए col_types का उपयोग करें। एक संक्षिप्त स्ट्रिंग दें (प्रत्येक कॉलम के लिए एक अक्षर: c=character, d=double, i=integer, l=logical, D=date, _=skip) या cols() विनिर्देशन दें।
library(readr)
df <- read_csv('id,date,amount,active
1,2024-01-15,99.99,TRUE
2,2024-02-20,149.50,FALSE
3,2024-03-10,75.00,TRUE',
# Compact: integer, Date, double, logical
col_types = 'iDdl')
print(df)
cat('\nColumn types:\n')
print(sapply(df, class))स्पष्ट प्रकार विनिर्देशन के लिए cols()
अधिक नियंत्रण के लिए, प्रत्येक कॉलम का प्रकार नामित करने हेतु cols() का उपयोग करें। कलेक्टर फ़ंक्शन उपयोग करें: col_double(), col_character(), col_integer(), col_date(format=), col_skip() और col_guess()।
library(readr)
df <- read_csv('id,name,score,date
1,Alice,85.5,2024-01-15
2,Bob,92.0,2024-02-20
3,Carol,78.3,2024-03-10',
col_types = cols(
id = col_integer(),
name = col_character(),
score = col_double(),
date = col_date(format = '%Y-%m-%d')
))
print(df)
print(class(df$date))skip और n_max आर्ग्युमेंट
skip=n पढ़ना शुरू करने से पहले पहली n पंक्तियों को छोड़ देता है (मेटाडेटा या टिप्पणी वाले शीर्षकों के लिए उपयोगी)। n_max=n अधिकतम n डेटा पंक्तियाँ पढ़ता है — बड़ी फ़ाइलों का पूर्वावलोकन करने या केवल पहला भाग लोड करने के लिए उपयुक्त।
library(readr)
# File with metadata in first 2 lines
# (simulated with literal string)
df <- read_csv('# Generated 2024-01-15
# Source: internal DB
name,score,grade
Alice,85,B
Bob,92,A
Carol,78,C
Dave,88,B',
skip = 2, # Skip the 2 comment lines
n_max = 3 # Read only 3 data rows
)
print(df)na आर्ग्युमेंट — अनुपस्थित मान निर्धारित करना
डिफ़ॉल्ट रूप से, read_csv() खाली स्ट्रिंग और NA को अनुपस्थित मान मानता है। अतिरिक्त ऐसी स्ट्रिंग निर्दिष्ट करने के लिए na आर्ग्युमेंट का उपयोग करें जिन्हें NA के रूप में पढ़ा जाना चाहिए — सामान्य उदाहरण हैं: 'N/A', 'NULL', '-999', '.'।
library(readr)
df <- read_csv('name,score,city
Alice,85,NYC
Bob,N/A,NULL
Carol,78,.
Dave,-999,Chicago',
na = c('', 'NA', 'N/A', 'NULL', '.', '-999')
)
print(df)
cat('NAs per column:\n')
print(colSums(is.na(df)))col_names — कस्टम कॉलम नाम
जब फ़ाइल में शीर्षक वाली पंक्ति न हो, तब col_names = FALSE सेट करें — readr कॉलम के नाम X1, X2 आदि अपने-आप रख देगा। वैकल्पिक रूप से, कस्टम नाम निर्दिष्ट करने और शीर्षक वाली पंक्ति छोड़ने के लिए col_names में एक character वेक्टर दें।
library(readr)
# File without headers
df <- read_csv('Alice,85,NYC
Bob,92,LA
Carol,78,Chicago',
col_names = c('name','score','city')
)
print(df)
# auto-names when no header:
df2 <- read_csv('1,2,3
4,5,6', col_names = FALSE)
print(df2)locale() — गैर-मानक प्रारूपों का प्रबंधन
locale() यह नियंत्रित करता है कि readr स्थान-विशिष्ट प्रारूपों की व्याख्या कैसे करता है: दशमलव चिह्न (यूरोपीय डेटा में ','), दिनांक प्रारूप, एन्कोडिंग और समूह-विभाजक। इसे read_csv(locale=...) में दें।
library(readr)
# European-style CSV: semicolons as delimiters, comma as decimal
# read_csv2() is shorthand for this locale
df <- read_csv2('name;price;qty
Alice;9,99;100
Bob;24,50;50',
locale = locale(decimal_mark=',')
)
print(df)
# For dates in non-ISO format:
parse_date('15/01/2024', format='%d/%m/%Y')progress और show_col_types
बड़ी फ़ाइलों के लिए read_csv() प्रगति पट्टी दिखाता है। इसे छिपाने के लिए progress=FALSE सेट करें (स्क्रिप्ट में उपयोगी)। जब आप प्रकारों की पहले ही जाँच कर चुके हों, तब कॉलम प्रकार का संदेश छिपाने के लिए show_col_types=FALSE सेट करें।
library(readr)
# Suppress progress and type messages for production scripts
df <- read_csv(
'a,b,c
1,x,TRUE
2,y,FALSE',
show_col_types = FALSE,
progress = FALSE
)
print(df)Problems() — पार्सिंग विफलताओं का निदान
जब readr को ऐसे मान मिलते हैं जो अपेक्षित प्रकार से मेल नहीं खाते, तो वह उनके स्थान पर NA रखता है और एक चेतावनी दर्ज करता है। किन पंक्तियों और कॉलमों में समस्याएँ थीं तथा मूल मान क्या थे, यह ठीक-ठीक देखने के लिए problems(df) कॉल करें।
library(readr)
# Intentional type mismatch: 'N/A' in numeric column
df <- suppressWarnings(read_csv(
'id,score
1,85
2,N/A
3,92',
col_types = cols(score = col_double())
))
print(df)
print(problems(df))map() से कई फ़ाइलें पढ़ना
एक ही चरण में कई CSV फ़ाइलें पढ़ने और पंक्तियों को जोड़ने के लिए readr को purrr::map() के साथ संयोजित करें। अलग-अलग फ़ाइलों में रखे मासिक या त्रैमासिक डेटा-विभाजनों को संसाधित करने के लिए यह पैटर्न आवश्यक है।
library(readr)
library(purrr)
library(dplyr)
# Simulated: read and bind multiple CSV files
files <- c('q1.csv', 'q2.csv', 'q3.csv')
# In practice:
# all_data <- map_df(files, read_csv, show_col_types=FALSE)
# Demonstration with inline data:
q1 <- read_csv('month,sales\nJan,100\nFeb,120', show_col_types=FALSE)
q2 <- read_csv('month,sales\nApr,130\nMay,145', show_col_types=FALSE)
bind_rows(list(q1=q1, q2=q2), .id='quarter')त्वरित जाँच
आप read_csv() को कैसे बताते हैं कि 'N/A' और '-99' मानों को अनुपस्थित (NA) माना जाना चाहिए?
पुनरावलोकन: readr के साथ read_csv()
readr से CSV फ़ाइलें पढ़ने की मुख्य बातें:
read_csv('file.csv')— CSV पढ़ता है, टिबल लौटाता है और कॉलम प्रकारों का अनुमान लगाता हैcol_types = 'idcl'याcols(x=col_double())— प्रकार का स्पष्ट विनिर्देशनskip=n— शीर्षक या मेटाडेटा वाली पंक्तियाँ छोड़ता है;n_max=n— पढ़ी जाने वाली पंक्तियों की संख्या सीमित करता हैna = c('N/A','NULL')— अतिरिक्त स्ट्रिंग को NA मानता हैlocale(decimal_mark=',')— यूरोपीय संख्या प्रारूपों को संभालता हैshow_col_types=FALSE— स्क्रिप्ट में प्रकार की जानकारी छिपाता हैproblems(df)— पार्सिंग विफलताओं का निरीक्षण करता है- कई फ़ाइलों के लिए
map_df(files, read_csv)के साथ संयोजित करें
library(readr)
# Production-ready read_csv() call
df <- read_csv(
'name,score,city,active
Alice,85,NYC,TRUE
Bob,N/A,LA,FALSE
Carol,78,NULL,TRUE',
col_types = cols(
name = col_character(),
score = col_double(),
city = col_character(),
active = col_logical()
),
na = c('', 'NA', 'N/A', 'NULL'),
show_col_types = FALSE
)
print(df)एआई शिक्षक के साथ R सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 43
- पाठ
- 159
अक्सर पूछे जाने वाले प्रश्न
क्या “read_csv() से CSV फ़ाइलें पढ़ना” पाठ निःशुल्क है?
हाँ — R Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “read_csv() से CSV फ़ाइलें पढ़ना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“read_csv() से CSV फ़ाइलें पढ़ना” में मैं क्या सीखूँगा?
कॉलम प्रकार अनुमान, स्किप करने और एन्कोडिंग विकल्पों के साथ सीमांकित files इम्पोर्ट करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ R Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या R Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर R Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“read_csv() से CSV फ़ाइलें पढ़ना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस R Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर R Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- read_csv() से CSV फ़ाइलें पढ़ना
- TSV और निश्चित-चौड़ाई वाली फ़ाइलों का पार्सिंग
- readxl से Excel फ़ाइलें इम्पोर्ट करना
- डेटा को कई फ़ॉर्मैट में लिखना