Tôi tương đối mới đối với Python và tự hỏi cách tốt nhất để nhập dữ liệu từ nhiều tệp vào một mảng đơn lẻ. Tôi có khá một vài tập tin văn bản có chứa 50 hàng của hai cột dữ liệu (cột phân cách) như:Cách Pythonic để nhập dữ liệu từ nhiều tệp vào một mảng
Length=10.txt:
1, 10
2, 30
3, 50
#etc
END OF FILE
-
Length=20.txt
1, 50.7
2, 90.9
3, 10.3
#etc
END OF FILE
Hãy nói rằng tôi có 10 tập tin văn bản để nhập khẩu và nhập khẩu vào một biến được gọi là dữ liệu.
Tôi muốn tạo một mảng 3D chứa tất cả dữ liệu. Bằng cách đó, tôi có thể dễ dàng vẽ và thao tác dữ liệu bằng cách tham chiếu đến dữ liệu theo số data[:,:,n]
trong đó n
là chỉ mục của tệp văn bản.
Tôi nghĩ rằng cách tôi làm điều này là có một mảng hình dạng (50, 2, 10), nhưng không biết cách tốt nhất để sử dụng python để tạo ra nó. Tôi đã nghĩ về việc sử dụng một vòng lặp để nhập mỗi tệp văn bản thành một mảng 2D, và sau đó xếp chúng để tạo một mảng 2D, mặc dù không thể tìm thấy các lệnh thích hợp để thực hiện điều này (tôi đã xem vstack và column_stack ở dạng gumpy nhưng dường như không thêm thứ nguyên bổ sung).
Cho đến nay, tôi đã viết mã nhập khẩu:
file_list = glob.glob(source_dir + '/*.TXT') #Get folder path containing text files
for file_path in file_list:
data = np.genfromtxt(file_path, delimiter=',', skip_header=3, skip_footer=18)
Nhưng vấn đề với mã này, là tôi chỉ có thể xử lý dữ liệu khi nó trong vòng lặp for.
Điều tôi thực sự muốn là một mảng của tất cả dữ liệu được nhập từ tệp văn bản.
Bất kỳ trợ giúp nào cũng sẽ được đánh giá cao!
Cảm ơn, điều này cải thiện khi câu trả lời của cronos. – IanRoberts