سؤال

ل index.csv الملف، عموده الرابع يحتوي على عشرة أرقام تتراوح من 1-5.يمكن اعتبار كل رقم بمثابة فهرس، وكل فهرس يتوافق مع مجموعة من الأرقام الموجودة فيه filename.csv.

رقم الصف filename.csv يمثل الفهرس، وكل صف يحتوي على ثلاثة أرقام.سؤالي يتعلق باستخدام حلقة متداخلة لنقل الأرقام filename.csv ل index.csv.

from numpy import genfromtxt  
import numpy as np  
import csv

data1 = genfromtxt('filename.csv', delimiter=',')  
data2 = genfromtxt('index.csv', delimiter=',')

f = open('index.csv','wb')  
write = csv.writer(f, delimiter=',',quoting=csv.QUOTE_ALL)

for row in data2:

    for ch_row in data1:

    if ( data2[row,3] == ch_row ):

    write.writerow(data1[data2[row,3],:])

على سبيل المثال، العمود الرابع من index.csv يتضمن 1,2,5,3,4,1,4,5,2,3 و filename.csv يتضمن:

# filename.csv

20 30 50 
70 60 45 
35 26 77 
93 37 68 
13 08 55 

ما أحتاجه هو كتابة الصف المفهرس من filename.csv ل index.csv وقم بتخزين هذه الأرقام في العمود الخامس والسادس والسابع:

# index.csv

#   4 5  6  7 
... 1 20 30 50 
... 2 70 60 45 
... 5 13 08 55 
... 3 35 26 77 
... 4 93 37 68 
... 1 20 30 50 
... 4 93 37 68 
... 5 13 08 55 
... 2 70 60 45 
... 3 35 26 77

هل بامكان اي احد ان يساعدني على حل هذا المشكل؟

هل كانت مفيدة؟

المحلول

تحتاج إلى وضع مسافة بادئة للسطرين الأخيرين.ويبدو أيضًا أنك تكتب إلى الملف الذي تقرأ منه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top