我正在使用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
.
.
.
答案 0 :(得分:1)
此
>>> 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
希望有帮助...
答案 1 :(得分:1)
看起来您正在尝试将一串数据直接传递给csv.reader()。它期待一个可迭代的对象,如列表或文件句柄。 csv module的文档提到了这一点。因此,您可能希望在将字符串传递给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
希望有所帮助。
答案 2 :(得分:0)
为什么不手动完成?
for line in fd:
foo, bar, baz = line.split(";")
答案 3 :(得分:0)
通常使用的分隔符是“,”,我已将数据映射到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')