2013-12-05 6 views
-1

У меня есть текстовый файл, состоящий из 100 записей, какЧтение значения, разделенные запятыми из текстового файла в Python

fname,lname,subj1,marks1,subj2,marks2,subj3,marks3. 

Мне нужно извлечь и распечатать LNAME и marks1 + marks2 + marks3 в питона. Как мне это сделать?
Я новичок в питоне.

Пожалуйста, помогите

Когда я раскол, я получил ошибку говоря

TypeError: Can't convert 'type' object to str implicitly.

Код был

import sys 
file_name = sys.argv[1] 
file = open(file_name, 'r') 


for line in file: 
    fname = str.split(str=",", num=line.count(str)) 
    print fname 
+2

Что вы пробовали? Вы исследовали метод split()? Вы знаете, как читать из файла? – Seanny123

+0

Я попытался с помощью регулярного выражения – user2825406

+0

@ user2825406 просто разместить этот код, его нормально не должен работать ... –

ответ

1

Примечание: это не проверенный код. но он пытается решить вашу проблему. Пожалуйста, попробуйте

import csv 
with open(file_name, 'rb') as csvfile: 
    marksReader = csv.reader(csvfile) 
    for row in marksReader: 
     if len(row) < 8: # 8 is the number of columns in your file. 
      # row has some missing columns or empty 
      continue 

     # Unpack columns of row; you can also do like fname = row[0] and lname = row[1] and so on ... 
     (fname,lname,subj1,marks1,subj2,marks2,subj3,marks3) = *row 

     # you can use float in place of int if marks contains decimals 
     totalMarks = int(marks1) + int(marks2) + int(marks3) 

     print '%s %s scored: %s'%(fname, lname, totalMarks) 

    print 'End.' 
0

Если вы хотите сделать это таким образом, вы были близки. Это то, что вы пытались?

file = open(file_name, 'r') 

for line in file.readlines(): 
    fname = line.rstrip().split(',') #using rstrip to remove the \n 
    print fname 
Смежные вопросы