Delimited Files

DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar, T::Type, eol::AbstractChar; header=false, skipstart=0, skipblanks=true, use_mmap, quotes=true, dims, comments=false, comment_char='#')

اقرأ مصفوفة من المصدر حيث تعطي كل سطر (يفصل بينه eol) صفًا واحدًا، مع العناصر مفصولة بالمحدد المعطى. يمكن أن يكون المصدر ملف نصي، أو دفق، أو مصفوفة بايت. يمكن استخدام الملفات المماثة للذاكرة عن طريق تمرير التمثيل المصفوفي للجزء المماثل كمصدر.

إذا كان T نوعًا عدديًا، فإن النتيجة هي مصفوفة من ذلك النوع، مع أي عناصر غير عددية كـ NaN لأنواع النقاط العائمة، أو صفر. تشمل القيم المفيدة الأخرى لـ T String، AbstractString، و Any.

إذا كان header هو true، فسيتم قراءة الصف الأول من البيانات كعنوان وسيتم إرجاع الزوج (data_cells, header_cells) بدلاً من data_cells فقط.

تحديد skipstart سيتجاهل العدد المقابل من الأسطر الأولية من الإدخال.

إذا كان skipblanks هو true، فسيتم تجاهل الأسطر الفارغة في الإدخال.

إذا كان use_mmap هو true، فإن الملف المحدد بواسطة source يتم تعيينه في الذاكرة من أجل تسريع محتمل إذا كان الملف كبيرًا. الافتراضي هو false. في نظام ملفات Windows، يجب عدم تعيين use_mmap إلى true ما لم يتم قراءة الملف مرة واحدة فقط وأيضًا لا يتم الكتابة إليه. توجد بعض الحالات الحدودية حيث يكون نظام التشغيل شبيهًا بـ Unix ولكن نظام الملفات شبيهًا بـ Windows.

إذا كان quotes هو true، فإن الأعمدة المحاطة بعلامات اقتباس مزدوجة (") مسموح لها باحتواء أسطر جديدة ومحددات أعمدة. يجب الهروب من علامات الاقتباس المزدوجة داخل حقل مقتبس بعلامة اقتباس مزدوجة أخرى. قد يؤدي تحديد dims كزوج من الصفوف والأعمدة المتوقعة (بما في ذلك العنوان، إن وجد) إلى تسريع قراءة الملفات الكبيرة. إذا كان comments هو true، فإن الأسطر التي تبدأ بـ comment_char والنص الذي يلي comment_char في أي سطر يتم تجاهله.

أمثلة

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [5; 6; 7; 8];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end

julia> readdlm("delim_file.txt", '\t', Int, '\n')
4×2 Matrix{Int64}:
 1  5
 2  6
 3  7
 4  8

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar, eol::AbstractChar; options...)

إذا كانت جميع البيانات رقمية، ستكون النتيجة مصفوفة رقمية. إذا لم يكن من الممكن تحليل بعض العناصر كأرقام، يتم إرجاع مصفوفة غير متجانسة من الأرقام والسلاسل النصية.

source
DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar, T::Type; options...)

فاصل نهاية السطر يؤخذ كـ \n.

أمثلة

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [1.1; 2.2; 3.3; 4.4];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y], ',')
       end;

julia> readdlm("delim_file.txt", ',', Float64)
4×2 Matrix{Float64}:
 1.0  1.1
 2.0  2.2
 3.0  3.3
 4.0  4.4

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar; options...)

يتم أخذ محدد نهاية السطر كـ \n. إذا كانت جميع البيانات رقمية، ستكون النتيجة مصفوفة رقمية. إذا لم يكن بالإمكان تحليل بعض العناصر كأرقام، يتم إرجاع مصفوفة غير متجانسة من الأرقام والسلاسل النصية.

أمثلة

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [1.1; 2.2; 3.3; 4.4];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y], ',')
       end;

julia> readdlm("delim_file.txt", ',')
4×2 Matrix{Float64}:
 1.0  1.1
 2.0  2.2
 3.0  3.3
 4.0  4.4

julia> z = ["a"; "b"; "c"; "d"];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x z], ',')
       end;

julia> readdlm("delim_file.txt", ',')
4×2 Matrix{Any}:
 1  "a"
 2  "b"
 3  "c"
 4  "d"

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source, T::Type; options...)

يُفترض أن تكون الأعمدة مفصولة بواسطة مسافة واحدة أو أكثر. يتم اعتبار محدد نهاية السطر كـ \n.

أمثلة

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [5; 6; 7; 8];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end;

julia> readdlm("delim_file.txt", Int64)
4×2 Matrix{Int64}:
 1  5
 2  6
 3  7
 4  8

julia> readdlm("delim_file.txt", Float64)
4×2 Matrix{Float64}:
 1.0  5.0
 2.0  6.0
 3.0  7.0
 4.0  8.0

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source; options...)

يُفترض أن تكون الأعمدة مفصولة بواسطة مسافة واحدة أو أكثر. يتم اعتبار محدد نهاية السطر كـ \n. إذا كانت جميع البيانات رقمية، ستكون النتيجة مصفوفة رقمية. إذا لم يكن من الممكن تحليل بعض العناصر كأرقام، يتم إرجاع مصفوفة غير متجانسة من الأرقام والسلاسل النصية.

أمثلة

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = ["a"; "b"; "c"; "d"];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end;

julia> readdlm("delim_file.txt")
4×2 Matrix{Any}:
 1  "a"
 2  "b"
 3  "c"
 4  "d"

julia> rm("delim_file.txt")
source
DelimitedFiles.writedlmFunction
writedlm(f, A, delim='\t'; opts)

اكتب A (وهي متجه أو مصفوفة أو مجموعة قابلة للتكرار من الصفوف القابلة للتكرار) كنص إلى f (إما سلسلة اسم ملف أو تدفق IO) باستخدام الفاصل المحدد delim (الذي يكون افتراضيًا علامة تبويب، ولكن يمكن أن يكون أي كائن جولي قابل للطباعة، عادةً Char أو AbstractString).

على سبيل المثال، يمكن كتابة متجهين x و y من نفس الطول كعمودين من نص مفصول بعلامات تبويب إلى f إما عن طريق writedlm(f, [x y]) أو عن طريق writedlm(f, zip(x, y)).

أمثلة

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [5; 6; 7; 8];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end

julia> readdlm("delim_file.txt", '\t', Int, '\n')
4×2 Matrix{Int64}:
 1  5
 2  6
 3  7
 4  8

julia> rm("delim_file.txt")
source