如何从Python中的CSV文件中获取数据?

如何从Python中的CSV文件中获取数据?,python,Python,我正在使用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 . . . 这个 是从 希望这对…有

我正在使用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
.
.
.
这个

是从


希望这对…有帮助。

为什么不手动操作呢

for line in fd:
        foo, bar, baz = line.split(";")

看起来您正试图将字符串数据直接传递给csv.reader()。它需要一个像列表或文件句柄这样的iterable对象。文件中提到了这一点。因此,在将字符串传递给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

希望有帮助。

通常使用的分隔符是“,”,我已经将数据映射到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')

我的观点是,当代码到达打印行时,行应该是csv特定行中的项目列表。这不是您看到的吗?这会打印行的值。如何说value1=1stvalue、value2=2ndvalue等工作代码?每一行都是一个列表,因此如果您想要第一个值,您将使用第[0]行来访问该值。但是,这不会正确处理引号之类的事情,是吗?如果csv中的数据本身可以包含逗号…+1作为提示,那么这将是必需的。这是一个常见的速度与舒适度的权衡。这只是打印行。我们如何得到每个单独的值,一对一?工作代码示例?
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')