【问题标题】:How to sort csv file and select only required data using python?如何使用python对csv文件进行排序并仅选择所需的数据?
【发布时间】:2017-02-07 02:32:39
【问题描述】:

我有一个非常大的 1.2GB 的 csv 文件。我想使用 python 对该 csv 文件进行排序并只显示所需的数据。更具体地说,我有一个 csv 文件,其中包括我国不同州的所有学校(印度),而且我只关心我所在州(马哈拉施特拉邦)的学校。那么,我该如何对这个 csv 文件进行排序并只选择马哈拉施特拉邦公立学校并显示其整行?

P.S:- 第一行包含标题元组(("STATNAME","DISTNAME","BLOCK_NAME","SCHCD","AC_YEAR","SCHNAME","RURURB","HABITATION_NAME","VILLAGE ","PANCHAYAT","CUSTER_NAME","BLOCK_NAME_1","EDU_BLOCK","ASSEMBLY_CONSTITUENCY","MUNICIPALITY","CITY","CITYNAME","WEBSITE","SCH_CATEGORY","LOWCLASS","HIGHCLASS", "SCHTYPE","SCHTYPES","SCHTYPEHS","SCHMGT","SCHMGTS","SCHMGTHS","DIST........)) 以及更多信息。 现在我想要所有信息,但只有 Maharastra's(STATE='MAHARASTRA') 我该怎么做? 有人可以帮忙吗?

enter image description here

【问题讨论】:

  • 为什么这个标签是“数据库”?为什么需要对数据进行排序以仅提取某些记录?
  • 标记数据库,因为我认为一些开发数据库分析师也可以提供答案!我想排序然后提取该特定记录,以便剩余数据以方便的形式出现! @斯科特猎人

标签: python database sorting csv


【解决方案1】:

https://docs.python.org/3/library/csv.html 上查看来自 python 的“csv”。这应该让你接近:

>>> import csv
>>> with open('schools.csv', newline='') as csvfile:
...     reader = csv.reader(csvfile, delimiter=',', quotechar='"')
...     for row in reader:
...         if 'MAHARASTRA' in row:
...             print(', '.join(row))

【讨论】:

  • 谢谢好友@Tom Scanlan。
  • @yogi,你找到解决方案了吗?
  • @Tom Scanlan,我还没有执行,因为那个 CSV 文件已经损坏了(不知道为什么)。一旦我执行它就会通知你。谢谢!
  • 嘿@Tom Scanlan!对不起,延迟哥们,昨晚我运行了那个程序员,但它的获取错误如下: Traceback(最近一次调用最后):文件“/usr/lib/python3.4 /codecs.py",第 319 行,在 decode (result,consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xae in position 6700: invalid start byte那么接下来我该怎么做呢?
猜你喜欢
  • 1970-01-01
  • 2019-04-06
  • 2021-06-13
  • 2012-07-11
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
相关资源
最近更新 更多