【问题标题】:How to select a specific part in a .csv file on multiple lines? (Python3)如何在多行的 .csv 文件中选择特定部分? (Python3)
【发布时间】:2018-11-13 09:29:25
【问题描述】:

为了解释问题,我正在编造这个例子。 如果我有一个 .csv 文件如下:

alfa, bravo, Charlie, 1.31
Dragonball, manga, anime, 3.11
delta, Omega, cookie, 3.13
Dragonball, stan, lee, 1.13

我怎样才能拿起每行以“龙珠”为第一部分的第四部分?如果再往前走,我不知道哪一行的第一部分是“龙珠”。

我试过了:

list = []
for line in file:
    line = line.rstrip()
    part = line.split(",")
    if part[0] == Dragonball:
        list.append(part[3])

预期输出:

list = [3.11, 1.13]

【问题讨论】:

  • 你读过docs.python.org/3/tutorial/introduction.html吗?从列表中按索引选择项目是 Python 中最基本的操作之一。
  • 另外,如果您要问,请正确包含预期的输出,而不是仅仅用文字模糊地解释它
  • 大家好。我会稍微改一下我的问题,可能有点不清楚。我的目标不是选择这两个零件,而是根据零件所在行使用的单词找到选择零件的解决方案。
  • 如果您将Dragonball 更改为"Dragonball"(字符串),您的代码应该可以正常工作。
  • 嗨,mkrieger1,感谢您的提示。很高兴听到我的方法并没有完全错误!

标签: python-3.x list csv sum


【解决方案1】:

您可以使用pandas轻松做到这一点:

import pandas as pd

df = pd.read_csv("path to your csv file")

print(list(df[df[0]=='Dragonball'][3]))

输出:

[3.11, 1.13]

【讨论】:

  • 有效。感谢您的宝贵时间!
猜你喜欢
  • 1970-01-01
  • 2014-12-21
  • 1970-01-01
  • 2021-10-09
  • 2020-07-06
  • 2017-04-03
  • 2015-10-27
  • 1970-01-01
  • 2018-05-08
相关资源
最近更新 更多