python - تفريغ مجموعة NumPy في ملف CSV




arrays (5)

إذا كنت ترغب في حفظ صفيفك المحفر (على سبيل المثال your_array = np.array([[1,2],[3,4]]) )) إلى خلية واحدة ، فيمكنك تحويلها أولاً باستخدام your_array.tolist() .

ثم احفظه بالطريقة المعتادة لخلية واحدة ، مع delimiter=';' وستظهر الخلية في ملف CSV مثل هذا [[1, 2], [2, 4]]

ثم يمكنك استعادة your_array = np.array(ast.literal_eval(cell_string)) مثل: your_array = np.array(ast.literal_eval(cell_string))

هل هناك طريقة لتفريغ مجموعة NumPy في ملف CSV؟ لدي مجموعة 2D NumPy وتحتاج إلى تفريغ في شكل قابل للقراءة الإنسان.


انها سهلة وسريعة مع الباندا

import pandas as pd 
df = pd.DataFrame(np_array)
df.to_csv("file_path.csv")

يمكنك أيضا القيام بذلك مع بيثون نقي دون استخدام أي وحدات.

# format as a block of csv text to do whatever you want
csv_rows = ["{},{}".format(i, j) for i, j in array]
csv_text = "\n".join(csv_rows)

# write it to a file
with open('file.csv', 'w') as f:
    f.write(csv_text)

tofile هي وظيفة ملائمة للقيام بذلك:

import numpy as np
a = np.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
a.tofile('foo.csv',sep=',',format='%10.5f')

تحتوي صفحة الرجل على بعض الملاحظات المفيدة:

هذه وظيفة ملائمة للتخزين السريع لبيانات الصفيف. يتم فقدان المعلومات حول endianness والدقة ، لذلك هذه الطريقة ليست خيارا جيدا للملفات التي تهدف إلى أرشفة البيانات أو نقل البيانات بين الآلات مع مختلف endianness. يمكن التغلب على بعض هذه المشاكل عن طريق إخراج البيانات كملفات نصية ، على حساب السرعة وحجم الملف.

ملحوظة. لا تقوم هذه الوظيفة بإنتاج ملفات csv متعددة الأسطر ، فهي تحفظ كل شيء في سطر واحد.


يحفظ numpy.savetxt مصفوفة إلى ملف نصي.

import numpy
a = numpy.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
numpy.savetxt("foo.csv", a, delimiter=",")




numpy