【问题标题】:extract specific columns values from a csv python 3从csv python 3中提取特定列值
【发布时间】:2017-08-27 13:05:41
【问题描述】:

您好,我有一个 csv 文件,我需要使用 Python 3 从该文件中提取特定的列值。

这是我的代码:

from csv import reader

with open('', "/Users/tinasosiak/Documents/Tender1copy.csv") as output, open("/Users/tinasosiak/Documents/Tender1.csv", newlines='') as input:
    for row in reader("/Users/tinasosiak/Documents/Tender1.csv"):
        print(row[2], file="/Users/tinasosiak/Documents/Tender1copy.csv")

csv 文件: enter image description here

当我运行我的程序时,我收到以下错误:

Traceback(最近一次调用最后一次): 文件“/Users/tinasosiak/Documents/word_cloud/why.py”,第 3 行,在 使用 open('', "/Users/tinasosiak/Documents/Tender1copy.csv") 作为输出, open("/Users/tinasosiak/Documents/Tender1.csv", newlines='') 作为输入: ValueError:无效模式:'/Users/tinasosiak/Documents/Tender1copy.csv'

【问题讨论】:

  • 您的错误很清楚open() 2 位置参数应该是,open(<name>, <mode>) 参见文档:docs.python.org/3.6/library/functions.html#open。你应该阅读csv 文档,reader() 需要一个文件对象,例如input - 不是文件名。

标签: python database python-3.x file csv


【解决方案1】:

对不起,我在这里回答,但我没有足够的声誉来评论您的问题。

首先请注意,ValueError 表明您应用了错误的模式来打开文件(write("w")/read("r")/append("a"))。在您的代码中,您已应用模式:

'/Users/tinasosiak/Documents/Tender1copy.csv'

当然它不会起作用。例如应该是

with open("/Users/tinasosiak/Documents/Tender1copy.csv", 'rb') as output,

【讨论】:

  • 看起来 OP 想要那个文件 as output - 所以也许打开它来写。
猜你喜欢
  • 2018-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-22
  • 2013-10-29
  • 1970-01-01
  • 2021-01-21
  • 2022-01-25
相关资源
最近更新 更多