首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取第一列CSV Python文件

获取第一列CSV Python文件
EN

Stack Overflow用户
提问于 2014-04-10 16:51:48
回答 1查看 1.2K关注 0票数 0

尝试将第一列(名称)输入列表以显示用户,然后通过对CSV文件的更改进行更新。使用此代码:

代码语言:javascript
复制
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

然而,我得到的结果是:

代码语言:javascript
复制
['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']
EN

回答 1

Stack Overflow用户

发布于 2014-04-10 16:53:39

每隔一行追加一次空的column列表;在追加之前对列进行测试:

代码语言:javascript
复制
col = []
exRtFile = open ('exchangeRate.csv','r')
exchReader = csv.reader(exRtFile)
for column in exchReader:
    if column:
        col.append(column[0])

不要在那里使用无止境的循环(while True:)。

或者使用列表理解和文件作为上下文管理器自动关闭它:

代码语言:javascript
复制
with open('exchangeRate.csv', newline='') as exRtFile:
    exchReader = csv.reader(exRtFile)
    col = [c[0] for c in exchReader if c]

注意,我将newline=''参数添加到open()调用中;这是对CSV文件的推荐,因为它们可以在值和行之间使用行尾的组合,如果允许的话,csv.reader()将为您管理行尾。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22994255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档