как получить данные из CSV-файла в Python - PullRequest
1 голос
/ 09 марта 2010

Я использую csv.reader для чтения файла, но он дает мне весь файл.

file_data = self.request.get('file_in');
file_Reader = csv.reader( file_data );
for fields in file_Reader:

Я хочу по одной строке за раз и отделяю данные от этой строки.

ex: filedata = name,sal,dept
               x,12000,it
o\p=
name
sal
dept
.
.
.

Ответы [ 4 ]

1 голос
/ 09 марта 2010

Похоже, вы пытаетесь передать строку данных непосредственно в csv.reader (). Он ожидает итеративный объект, такой как список или файловый дескриптор. Документы для csv модуля упоминают об этом. Таким образом, вы, вероятно, хотите разбить строку по символам новой строки перед передачей ее в csv.reader.

import csv
file_data = self.request.get('file_in')
file_data_list = file_data.split('\n')
file_Reader = csv.reader(file_data_list)
for fields in file_Reader:
    print row

Надеюсь, это поможет.

1 голос
/ 09 марта 2010

Это

>>> import csv
>>> spamReader = csv.reader(open('eggs.csv'), delimiter=' ', quotechar='|')
>>> for row in spamReader:
...     print ', '.join(row)
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam

было взято из руководство

Надеюсь, это поможет ...

0 голосов
/ 16 декабря 2017

Обычно используется разделитель ",", я сопоставил данные с переменными x, y

import csv
x = []
y=  []
with open('FileName.csv','r') as csvfile:
    plot=csv.reader(csvfile,delimiter=',')
for row in plot:
    x.append(int(row[0])) 
    y.append(int(row[1]))

plt.bar(x,y,label='name')
0 голосов
/ 09 марта 2010

Почему бы не сделать это вручную?

for line in fd:
        foo, bar, baz = line.split(";")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...