2014-09-19 2 views
-1

Не так уж и хорош на python, поэтому я могу ошибаться, но мой SplitAgain печатает только первую строку за пределами функции. Я пробовал использовать forloop, но это тоже не сработало.Cant распечатать список из функции python

print 'List Local Files' 
localFile = open('Local.csv','r') 

for line in localFile: 
    splitLine = line.split(",") 
    splitAgain = splitLine[9].replace('"', '') 

    # print splitAgain 


print 'Collection Files' 
CollectionFile = open('Collection.csv', 'r') 
for line in CollectionFile: 
     sLine = line.split(",") 

     newArray = sLine[4] + sLine[5] 


     newArray2 = newArray.replace("/XXXX/",'') 



print splitAgain 

Я хотел бы splitAgain напечатать все значения вне foorloop, так как я буду работать с диф на SplitAgain и newArray2 на втором этапе.

Но на этом этапе это дает мне только первую строку.

Я пробовал итерацию списка, но он дал мне каждого персонажа на новой строке.

Я попробовал этот

for i in SplitAgain: 
    print i; 
+0

Какая функция? Я не вижу функции. – user2357112

+0

означает из цикла, извините – smushi

+0

Вы пытались хранить результаты каждой итерации? –

ответ

0

Как я понимаю, вы пытаетесь получить значение столбца в файле CSV и распечатать его. Здесь изменена версия вашего кода.

print 'List Local Files' 

VALUES_SEPARATOR = "," 

with open('./local.csv','r') as localFile : 
    lines = [] 
    for line in localFile: 
     #use line[:-1] to remove the end line "\n" symbol. 
     splitLine = line[:-1].split(VALUES_SEPARATOR) 
     splitAgain = splitLine[2].replace('"', '') 

     lines.append(splitAgain)#store the line in a out-of-the-loop variable. 

    print(lines) 

Как вы можете видеть список используется для хранения результата вне цикла, как @tdelaney предложил это в комментариях. Applyied на данный файл:

name, owner,"local file names" 
foo,bar,"foo the foo" 
foofoo,bar,"bar the bar" 

Это даст следующий результат:

List Local Files 
['local file names', 'foo the foo', 'bar the bar'] 

Это удовлетворяющий вашим потребностям? Надеюсь, что так;)

+0

спасибо за помощь, я просто не знал, почему моя переменная (list, splitAgain) не печатала все значения вне цикла. Оказалось, мне нужно значение массива – smushi

Смежные вопросы