如何使用python在CSV文件中一一读取一行数据

时间:2019-09-19 08:34:45

标签: python pandas for-loop

在这里,我有一个包含三个输入的数据集。三个输入x1,x2,x3。在这里,我只想读取x2列,并逐行读取该列数据。

在这里我写了一个代码。但这只是显示字母。

这是我的代码

data = pd.read_csv('data6.csv')
row_num =0
x=[]
for col in data:
if (row_num==1):
    x.append(col[0])
row_num =+ 1
print(x)

结果:x1,x2,x3

我期望的输出是:

expected output x2 (read one by one row)
65
32
14
25
85
47
63
21
98
65
21
47
48
49
46
43
48
25
28
29
37

我的csv文件的子集:

x1  x2  x3
6   65  78
5   32  59
5   14  547
6   25  69
7   85  57
8   47  51
9   63  26
3   21  38
2   98  24
7   65  96
1   21  85
5   47  94
9   48  15
4   49  27
3   46  96
6   43  32
5   48  10
8   25  75
5   28  20
2   29  30
7   37  96

有人可以帮助我解决此错误吗?

3 个答案:

答案 0 :(得分:2)

我不确定我是否还能从您的代码中得到您想要做的事情。 您正在做什么(修复缩进使其更正确之后):

  • 遍历数据框的所有列
  • 如果row_num等于1,则采用列名的第一个字符。

基于此猜测:

import pandas as pd

data = pd.read_csv("data6.csv")
row_num = 0
x = []
for col in data:
    if row_num == 1:
        x.append(col[0])
    row_num = +1
print(x)

您可能想做的事情:

import pandas as pd
data = pd.read_csv("data6.csv")
# Make a list containing the values in column 'x2'
x = list(data['x2'])

# Print all values at once:
print(x)

# Print one value per line:
for val in x:
    print(val)

答案 1 :(得分:2)

如果您要使用x2中的列表,请使用:

x = data['x2'].tolist()

答案 2 :(得分:1)

使用熊猫时,可以使用它。您可以尝试使用list直接转换为list.For循环来获取任何特定的列值

import pandas as pd
data = pd.read_csv('data6.csv')
print(list(data['x2']))