簡體   English   中英

如何使用 python 在 csv 文件中逐行讀取一列數據

[英]How to read one column data as one by one row in csv file using python

這里我有一個包含三個輸入的數據集。 三個輸入 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

我期望 output 是:

 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

誰能幫我解決這個錯誤?

我不確定我什至能從你的代碼中得到你想要做什么。 你在做什么(在修復縮進使其有點正確之后):

  • 遍歷 dataframe 的所有列
  • 如果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)

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

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

當您使用 pandas 時,您可以使用它。 您可以嘗試通過使用列表直接轉換為列表來獲取任何特定的列值。不需要 For 循環

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM