Запись данных в табличной форме в файлы в Julia
Julia - это высокоуровневый, высокопроизводительный, динамический язык программирования, который позволяет пользователям загружать, сохранять и манипулировать данными в различных типах файлов для обработки данных, анализа и машинного обучения. Табличные данные - это данные, которые имеют структуру таблицы и могут быть легко записаны в различные файлы, такие как текст, CSV, Excel и т. Д.
To perform such operations on data and files with ease, we add the Queryverse.jl package which provides us ease of use for other useful packages such as Query.jl, FileIO.jl, CSVFiles.jl, etc.
Julia
# Adding the Queryverse package using Pkg Pkg.add( "Queryverse" ) |
Writing Tabular Data to Text Files
First, we create a text file using the touch() function.
Julia
# Creating a text file touch( "geek.txt" ) |
And now we can open the file and write data into it as shown below.
Julia
# Writing data into a text file in a tabular format # Opening the created file f = open ( "geek.txt" , "w" ) # Writing data into text file write(f, "A B C 1 4 7 2 5 8 3 6 9 ") # Closing text file close(f) |
Выход:
Запись табличных данных в файлы CSV
DataFrames are used to store data in a tabular form and these DataFrames can be written into CSV or Excel files by using the Queryverse.jl package and the save() function. Queryverse.jl package lets the FileIO.jl package use the CSVFiles.jl package to implement this.
Julia
using Queryverse # Ceating a DataFrame df = DataFrame(subject = [ "Physics" , "Chemistry" , "English" ], marks = [ 45 , 62 , 59 ]) # Writing a DataFrame into csv file df |> save( "marks.csv" ) # can also be implemented as - save("marks.csv", df) |
Мы успешно записали табличные данные в файл CSV. Формат записываемых данных можно изменить, используя различные ключевые слова в качестве аргументов функции save () .
delim keyword is used to separate columns in the file with a character that we can specify by equating it to the keyword.
Julia
# Separating comlumns with ";" df |> save( "marks.csv" , delim = ";" ) |
The column names of the DataFrame take up the first row of the file. To change this we can use the header keyword argument and equate it to false to remove the column names in the file.
Julia
# Creating a DataFrame df = DataFrame(subject = [ "Physics" , "Chemistry" , "English" ], marks = [ 45 , 62 , 59 ]) # Removing the column names from the first row of the file df |> save( "marks.csv" , header = false) |
When the data is written into a file with the save() function, any text in the data will be represented between double quotes( ” ) and if there is a double quote in the text, a backlash ( ) is placed before it for differentiation. We can change these characters used for representation with the quotechar and the escapechar keyword arguments as shown below.
Julia
# Creating a DataFrame df = DataFrame(subject = [ "Physics + Chemistry" , "English" ], marks = [ 107 , 59 ]) # Changing separation characters in the file df |> save( "marks.csv" , quotechar = "+" , escapechar = "/" ) |
Запись табличных данных в таблицы Excel
The process for writing data into excel sheets is the same as that of CSV files, which has been discussed above, but we have to specify a file with the extension ‘*.xlsx’ instead of a ‘.csv’ in the save() function.
Julia
# Creating a DataFrame df = DataFrame(subject = [ "Maths" , "Science" , "Computers" ], marks = [ 61 , 72 , 49 ]) # Writing the DataFrame into an Excel file df |> save( "marks.xlsx" ) |
In the excel file, we can change the name of the sheet in which the data is being written into with the sheetname keyword argument as shown below.
Julia
# Changing name of the sheet in the excel file df |> save( "marks.xlsx" , sheetname = "marks in excel" ) |
В Julia мы можем записывать табличные данные не только в три файла, о которых говорилось выше, но и в различные другие файлы, такие как Feather, Stata, SPSS, SAS и т. Д. Функция сохранения применима ко всем этим типам файлов. Нам просто нужно указать соответствующее расширение (* .feature, * .dta, * .por, * .sav) для файла, в который мы хотим записать.