簡體   English   中英

獲取第一列CSV文件Python

[英]getting first column CSV file Python

嘗試使第一列(名稱)進入列表以顯示用戶,然后使用對CSV文件的更改進行更新。 使用此代碼:

import csv
list = []
exRtFile = open ('exchangeRate.csv','r')
exchReader = csv.reader(exRtFile)
while True:
    for column in exchReader:
        list.append(column and column[0])
        print(list)
        exRtFile.close

但是,我得到了下面的輸出:

['US Dollar']
['US Dollar', []]
['US Dollar', [], 'Japanese Yen']
['US Dollar', [], 'Japanese Yen', []]
['US Dollar', [], 'Japanese Yen', [], 'Euro']
['US Dollar', [], 'Japanese Yen', [], 'Euro', []]
['US Dollar', [], 'Japanese Yen', [], 'Euro', [], 'Pound Sterling']
['US Dollar', [], 'Japanese Yen', [], 'Euro', [], 'Pound Sterling', []]
['US Dollar', [], 'Japanese Yen', [], 'Euro', [], 'Pound Sterling', [], 'Japanese Yen']

您將每隔一行追加一個空column列表。 追加之前測試列:

col = []
exRtFile = open ('exchangeRate.csv','r')
exchReader = csv.reader(exRtFile)
for column in exchReader:
    if column:
        col.append(column[0])

請勿在其中使用無限循環( while True: )。

或者使用列表推導和文件作為上下文管理器來自動關閉它:

with open('exchangeRate.csv', newline='') as exRtFile:
    exchReader = csv.reader(exRtFile)
    col = [c[0] for c in exchReader if c]

請注意,我在open()調用中添加了newline=''參數; 推薦使用CSV文件,因為它們可以在值和行之間混合使用行尾,如果您願意, csv.reader()將為您管理。

暫無
暫無

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

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