Python CSV文件 - 想要过滤特定的行/列

时间:2018-03-07 02:10:46

标签: python csv

我是Python的新手,我正在尝试分析这个CSV文件。它有很多不同的国家(以下为例)。

country iso2    iso3    iso_numeric g_whoregion year    e_pop_num   e_inc_100k  e_inc_100k_lo
Afghanistan AF  AFG 4   EMR 2000    20093756    190 123
American Samoa  AS  ASM 16  WPR 2003    59117   5.8 5   6.7 3   3   4
Gambia  GM  GMB 270 AFR 2010    1692149 178 115 254 3000    1900    4300

我想尝试只获取特定数据,因此只有特定国家/地区和特定列(例如“e_pop_numb”)。我该怎么做呢?

我唯一的基本代码是:

import csv
import itertools

f = csv.reader(open('TB_burden_countries_2018-03-06.csv'))

for row in itertools.islice(f, 0, 10):
    print (row)

让我选择我想要的特定行,但不一定是我想看的国家,或者我想要的特定列。

如果你可以帮助我或给我一个指导,这样我就可以自己学习,我非常感谢!谢谢。

3 个答案:

答案 0 :(得分:0)

我建议你使用pandas python库。请按照下面的文章,有一个片段代码来阐明您的想法。

import pandas as pd
df1=pd.read_csv("https://pythonhow.com/wp-content/uploads/2016/01/Income_data.csv")
df2.loc["Alaska":"Arkansas","2005":"2007"]

此信息的来源:https://pythonhow.com/accessing-dataframe-columns-rows-and-cells/

答案 1 :(得分:0)

熊猫可能是最简单的方法。 https://pandas.pydata.org/pandas-docs/stable/

让它运行

pip install pandas

然后将csv读入数据帧并过滤

import pandas as pd

df = pd.read_csv(‘TB_burden_countries_2018-03-06.csv’)
df = df[df[‘country’] == ‘Gambia’]
print(df)

答案 2 :(得分:0)

open('file') as f:
  fields = f.readline().split("\t")
  print(fields)                 

如果您提供有关您想要查看的内容的更多详细信息,答案会有所不同。