library(jsonlite)
library(XML)
library(arrow)
## Warning: package 'arrow' was built under R version 4.4.3
##
## Attaching package: 'arrow'
## The following object is masked from 'package:utils':
##
## timestamp
json_url <- "https://raw.githubusercontent.com/silmaxk/DATA607_CUNYSPS/refs/heads/main/Week7/data607_week7.json"
df_json <- fromJSON(json_url)
cat("JSON Data Imported:\n")
## JSON Data Imported:
print(df_json)
## Category Item_Name Item_ID Brand Price Variation_ID
## 1 Electronics Smartphone 101 TechBrand 699.99 101-A
## 2 Electronics Smartphone 101 TechBrand 699.99 101-B
## 3 Electronics Laptop 102 CompuBrand 1099.99 102-A
## 4 Electronics Laptop 102 CompuBrand 1099.99 102-B
## 5 Home Appliances Refrigerator 201 HomeCool 899.99 201-A
## 6 Home Appliances Refrigerator 201 HomeCool 899.99 201-B
## 7 Home Appliances Washing Machine 202 CleanTech 499.99 202-A
## 8 Home Appliances Washing Machine 202 CleanTech 499.99 202-B
## 9 Clothing T-Shirt 301 FashionCo 19.99 301-A
## 10 Clothing T-Shirt 301 FashionCo 19.99 301-B
## 11 Clothing T-Shirt 301 FashionCo 19.99 301-C
## 12 Clothing Jeans 302 DenimWorks 49.99 302-A
## 13 Clothing Jeans 302 DenimWorks 49.99 302-B
## 14 Books Fiction Novel 401 - 14.99 401-A
## 15 Books Fiction Novel 401 - 14.99 401-B
## 16 Books Non-Fiction Guide 402 - 24.99 402-A
## 17 Books Non-Fiction Guide 402 - 24.99 402-B
## 18 Sports Equipment Basketball 501 SportsGear 29.99 501-A
## 19 Sports Equipment Tennis Racket 502 RacketPro 89.99 502-A
## 20 Sports Equipment Tennis Racket 502 RacketPro 89.99 502-B
## Variation_Details
## 1 Color: Black, Storage: 64GB
## 2 Color: White, Storage: 128GB
## 3 Color: Silver, Storage: 256GB
## 4 Color: Space Gray, Storage: 512GB
## 5 Color: Stainless Steel, Capacity: 20 cu ft
## 6 Color: White, Capacity: 18 cu ft
## 7 Type: Front Load, Capacity: 4.5 cu ft
## 8 Type: Top Load, Capacity: 5.0 cu ft
## 9 Color: Blue, Size: S
## 10 Color: Red, Size: M
## 11 Color: Green, Size: L
## 12 Color: Dark Blue, Size: 32
## 13 Color: Light Blue, Size: 34
## 14 Format: Hardcover, Language: English
## 15 Format: Paperback, Language: Spanish
## 16 Format: eBook, Language: English
## 17 Format: Paperback, Language: French
## 18 Size: Size 7, Color: Orange
## 19 Material: Graphite, Color: Black
## 20 Material: Aluminum, Color: Silver
html_url <- "https://raw.githubusercontent.com/silmaxk/DATA607_CUNYSPS/refs/heads/main/Week7/data607_week7.html"
html_content <- readLines(html_url)
df_html <- readHTMLTable(html_content, which = 1, stringsAsFactors = FALSE)
cat("\nHTML Data Imported:\n")
##
## HTML Data Imported:
print(df_html)
## Category Item_Name Item_ID Brand Price Variation_ID
## 1 Electronics Smartphone 101 TechBrand 699.99 101-A
## 2 Electronics Smartphone 101 TechBrand 699.99 101-B
## 3 Electronics Laptop 102 CompuBrand 1099.99 102-A
## 4 Electronics Laptop 102 CompuBrand 1099.99 102-B
## 5 Home Appliances Refrigerator 201 HomeCool 899.99 201-A
## 6 Home Appliances Refrigerator 201 HomeCool 899.99 201-B
## 7 Home Appliances Washing Machine 202 CleanTech 499.99 202-A
## 8 Home Appliances Washing Machine 202 CleanTech 499.99 202-B
## 9 Clothing T-Shirt 301 FashionCo 19.99 301-A
## 10 Clothing T-Shirt 301 FashionCo 19.99 301-B
## 11 Clothing T-Shirt 301 FashionCo 19.99 301-C
## 12 Clothing Jeans 302 DenimWorks 49.99 302-A
## 13 Clothing Jeans 302 DenimWorks 49.99 302-B
## 14 Books Fiction Novel 401 - 14.99 401-A
## 15 Books Fiction Novel 401 - 14.99 401-B
## 16 Books Non-Fiction Guide 402 - 24.99 402-A
## 17 Books Non-Fiction Guide 402 - 24.99 402-B
## 18 Sports Equipment Basketball 501 SportsGear 29.99 501-A
## 19 Sports Equipment Tennis Racket 502 RacketPro 89.99 502-A
## 20 Sports Equipment Tennis Racket 502 RacketPro 89.99 502-B
## Variation_Details
## 1 Color: Black, Storage: 64GB
## 2 Color: White, Storage: 128GB
## 3 Color: Silver, Storage: 256GB
## 4 Color: Space Gray, Storage: 512GB
## 5 Color: Stainless Steel, Capacity: 20 cu ft
## 6 Color: White, Capacity: 18 cu ft
## 7 Type: Front Load, Capacity: 4.5 cu ft
## 8 Type: Top Load, Capacity: 5.0 cu ft
## 9 Color: Blue, Size: S
## 10 Color: Red, Size: M
## 11 Color: Green, Size: L
## 12 Color: Dark Blue, Size: 32
## 13 Color: Light Blue, Size: 34
## 14 Format: Hardcover, Language: English
## 15 Format: Paperback, Language: Spanish
## 16 Format: eBook, Language: English
## 17 Format: Paperback, Language: French
## 18 Size: Size 7, Color: Orange
## 19 Material: Graphite, Color: Black
## 20 Material: Aluminum, Color: Silver
xml_url <- "https://raw.githubusercontent.com/silmaxk/DATA607_CUNYSPS/refs/heads/main/Week7/data607_week7.xml"
xml_content <- readLines(xml_url, warn = FALSE)
xml_text <- paste(xml_content, collapse = "\n")
if(nchar(xml_text) == 0) {
stop("XML content is empty. Please check the URL or file content.")
}
xml_doc <- xmlParse(xml_text)
df_xml <- xmlToDataFrame(nodes = getNodeSet(xml_doc, "//Item"))
cat("\nXML Data Imported:\n")
##
## XML Data Imported:
print(df_xml)
## Category Item_Name Item_ID Brand Price Variation_ID
## 1 Electronics Smartphone 101 TechBrand 699.99 101-A
## 2 Electronics Smartphone 101 TechBrand 699.99 101-B
## 3 Electronics Laptop 102 CompuBrand 1099.99 102-A
## 4 Electronics Laptop 102 CompuBrand 1099.99 102-B
## 5 Home Appliances Refrigerator 201 HomeCool 899.99 201-A
## 6 Home Appliances Refrigerator 201 HomeCool 899.99 201-B
## 7 Home Appliances Washing Machine 202 CleanTech 499.99 202-A
## 8 Home Appliances Washing Machine 202 CleanTech 499.99 202-B
## 9 Clothing T-Shirt 301 FashionCo 19.99 301-A
## 10 Clothing T-Shirt 301 FashionCo 19.99 301-B
## 11 Clothing T-Shirt 301 FashionCo 19.99 301-C
## 12 Clothing Jeans 302 DenimWorks 49.99 302-A
## 13 Clothing Jeans 302 DenimWorks 49.99 302-B
## 14 Books Fiction Novel 401 - 14.99 401-A
## 15 Books Fiction Novel 401 - 14.99 401-B
## 16 Books Non-Fiction Guide 402 - 24.99 402-A
## 17 Books Non-Fiction Guide 402 - 24.99 402-B
## 18 Sports Equipment Basketball 501 SportsGear 29.99 501-A
## 19 Sports Equipment Tennis Racket 502 RacketPro 89.99 502-A
## 20 Sports Equipment Tennis Racket 502 RacketPro 89.99 502-B
## Variation_Details
## 1 Color: Black, Storage: 64GB
## 2 Color: White, Storage: 128GB
## 3 Color: Silver, Storage: 256GB
## 4 Color: Space Gray, Storage: 512GB
## 5 Color: Stainless Steel, Capacity: 20 cu ft
## 6 Color: White, Capacity: 18 cu ft
## 7 Type: Front Load, Capacity: 4.5 cu ft
## 8 Type: Top Load, Capacity: 5.0 cu ft
## 9 Color: Blue, Size: S
## 10 Color: Red, Size: M
## 11 Color: Green, Size: L
## 12 Color: Dark Blue, Size: 32
## 13 Color: Light Blue, Size: 34
## 14 Format: Hardcover, Language: English
## 15 Format: Paperback, Language: Spanish
## 16 Format: eBook, Language: English
## 17 Format: Paperback, Language: French
## 18 Size: Size 7, Color: Orange
## 19 Material: Graphite, Color: Black
## 20 Material: Aluminum, Color: Silver
csv_data <- "Category,Item_Name,Item_ID,Brand,Price,Variation_ID,Variation_Details
Electronics,Smartphone,101,TechBrand,699.99,101-A,\"Color: Black, Storage: 64GB\"
Electronics,Smartphone,101,TechBrand,699.99,101-B,\"Color: White, Storage: 128GB\"
Electronics,Laptop,102,CompuBrand,1099.99,102-A,\"Color: Silver, Storage: 256GB\"
Electronics,Laptop,102,CompuBrand,1099.99,102-B,\"Color: Space Gray, Storage: 512GB\"
Home Appliances,Refrigerator,201,HomeCool,899.99,201-A,\"Color: Stainless Steel, Capacity: 20 cu ft\"
Home Appliances,Refrigerator,201,HomeCool,899.99,201-B,\"Color: White, Capacity: 18 cu ft\"
Home Appliances,Washing Machine,202,CleanTech,499.99,202-A,\"Type: Front Load, Capacity: 4.5 cu ft\"
Home Appliances,Washing Machine,202,CleanTech,499.99,202-B,\"Type: Top Load, Capacity: 5.0 cu ft\"
Clothing,T-Shirt,301,FashionCo,19.99,301-A,\"Color: Blue, Size: S\"
Clothing,T-Shirt,301,FashionCo,19.99,301-B,\"Color: Red, Size: M\"
Clothing,T-Shirt,301,FashionCo,19.99,301-C,\"Color: Green, Size: L\"
Clothing,Jeans,302,DenimWorks,49.99,302-A,\"Color: Dark Blue, Size: 32\"
Clothing,Jeans,302,DenimWorks,49.99,302-B,\"Color: Light Blue, Size: 34\"
Books,Fiction Novel,401,-,14.99,401-A,\"Format: Hardcover, Language: English\"
Books,Fiction Novel,401,-,14.99,401-B,\"Format: Paperback, Language: Spanish\"
Books,Non-Fiction Guide,402,-,24.99,402-A,\"Format: eBook, Language: English\"
Books,Non-Fiction Guide,402,-,24.99,402-B,\"Format: Paperback, Language: French\"
Sports Equipment,Basketball,501,SportsGear,29.99,501-A,\"Size: Size 7, Color: Orange\"
Sports Equipment,Tennis Racket,502,RacketPro,89.99,502-A,\"Material: Graphite, Color: Black\"
Sports Equipment,Tennis Racket,502,RacketPro,89.99,502-B,\"Material: Aluminum, Color: Silver\""
df <- read.csv(text = csv_data, stringsAsFactors = FALSE)
write_parquet(df, "data.parquet")
Pros - It is very simple for humans to read and write without too many complex syntax - This format can be used between various different programming languages
Cons - Can be very lengthy and tedious for very large datasets - Does not really enforce the use of data types
Pros - Very structured format and provides defined structure - Data uses metadata that allows it to be easier to understand
Cons - It requires more processing power when dealing with large data - Can be very complex for simple tasks
Pros - Very easy to showcase on web browsers - Very accessing and easy to share data
Cons - It is better for displaying data, but not for data processing - Contains tags that can hinder analysis