繁体   English   中英

Python:从 CSV 文件的每一行中提取第一个元素

[英]Python: Extracting first element from each line of a CSV file

我想从 csv 文件中读取并将某些内容添加到列表中

JFK,John F Kennedy International,5326,5486
ORY,Paris-Orly,629,379
MAD,Adolfo Suarez Madrid-Barajas,1428,1151
AMS,Amsterdam Schiphol,526,489
CAI,Cairo International,3779,3584

上面列出了文本文件中的所有内容,我想从每一行中获取第一个,因此 JFK ORY MAD AMS CAI 添加到列表中。

我试过:

with open('Airports.txt', 'r') as f:
    reader = csv.reader(f)
    amr_csv = list(reader)

但这将整个文本文件添加到列表中,我无法将其添加到第一行

总之,我想帮助将此文本文件的第一行添加到保存为变量的列表中。

我很确定这会解决你的问题

import csv
with open('Airports.txt', 'r') as f:
    reader = csv.reader(f)
    amr_csv = list(reader)
    for line in amr_csv:
        print(line[0])

或者

import csv
with open('Airports.txt','r') as f:
    reader = csv.reader(f)
    amr_csv = [line[0] for line in reader]
    print(amr_csv)

让我们来做一些非常简单的事情。

此代码段从您的 CSV 文件中提取 IATA 代码到一个list

with open('airports.txt') as f:
    iata = [i.split(',')[0] for i in f.readlines()]

代码说明:

本质上,这段代码是读取 CSV 的每一行并用逗号分割; 然后使用列表理解提取第一个元素 ( [0] ) 并添加到列表中

输出:

['JFK', 'ORY', 'MAD', 'AMS', 'CAI']
import csv

with open('Airports.txt', 'r') as f:
    reader = csv.reader(f)
    example_list = list(reader)

print(example_list)

输出:

[['JFK', 'John F Kennedy International', '5326', '5486'], ['ORY', 'Paris-Orly', '629', '379'], ['MAD', 'Adolfo Suarez Madrid-Barajas', '1428', '1151'], ['AMS', 'Amsterdam Schiphol', '526', '489'], ['CAI', 'Cairo International', '3779', '3584'], []]

感谢任何提供帮助的人,这就是我最终确定的,因为它是我正在寻找的,希望这可以帮助任何有任何类似问题的人。

看看这是否有效

import csv

with open('Airports.txt', 'r') as file:
    reader = csv.reader(file)
    amr_csv = list(reader)
    for i in range(len(amr_csv)):
        print(amr_csv[i][0])

您可以通过访问amr[line][column]来访问二维数组中的任何数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM