【问题标题】:Python read CSV file no functionsPython读取CSV文件没有功能
【发布时间】:2018-05-05 16:12:07
【问题描述】:

我目前正在上一门 Python 初学者课程。我们有一个任务,指示我们在不使用 genfromtxt 或任何其他预先编写的文件读取函数的情况下将数据文件的内容读取到浮点数组 data2 中。因此,您必须创建一个文件对象,使用字符串方法来访问、转换等。将第一列设为 yyyy-mm-dd 作为浮点数。我对如何做这样的事情有点迷茫,希望我能在方法或方法上得到一点帮助。谢谢

data2 = []
with open('sp500_1950-01-03_to_2016-10-07.csv', 'r') as myfile:
    for line in myfile:
        data = line.rsplit(',')
        data2.append(data)
print(data2)

这是我目前所拥有的,但我需要每个值/数字都有自己的索引并且是浮点数,我不知道该怎么做。

finance.yahoo.com/quote/%5EGSPC/history?p=%5EGSPC 这是我们应该阅读的 data/csv 文件的链接。除此之外,我们应该自己想出方法。

【问题讨论】:

  • 很遗憾,为了让我们帮助您,您必须向我们展示您的所作所为。我假设因为这是一门入门课程,他们会为您提供解决这个问题的工具?
  • 对不起,你必须写你能写的,然后我们可以从那里帮助你。 SO 不是代码编写服务。

标签: python csv file-io scipy genfromtxt


【解决方案1】:

虽然问题不清楚。

第一个问题:将第一列设为 yyyy-mm-dd 作为浮点数,这怎么可能。比如说2017.11.22,你是说这个浮动吗?

你在寻找这样的东西吗?

   for line in open("my_file.csv"):
         line_read_as_list = line.split(',')

csv 文件的分隔符是什么?概念:读取为列表中的行拆分。

如果您的第一列是“yyyy-mm-dd”格式,请将 line_read_as_list 中的 line_read_as_list[0] 拆分为 '-',并在单独的列表中捕获年、月和日。你应该自己试一试。有很多方法可以做到这一点。

如果您想恢复格式:yyyy.mm.dd 只需将 '-' 替换为 '.'。应该是字符串。

【讨论】:

  • 几个 cmets:(1) 在你的第一个列表理解中使用for i in line.split(',')i 将是一个字符串,所以isinstance(i, float) 将永远是False; (2) 可以将line_read_as_list = [i for i in line.split(',')] 简化为line_read_as_list = line.split(','),因为line.split(',') 会创建一个列表。
  • 是的,你是对的!我没有运行这段代码。这个问题也没有任何例子。我已经编辑了。
猜你喜欢
  • 2013-06-26
  • 1970-01-01
  • 1970-01-01
  • 2019-01-29
  • 2015-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 1970-01-01
相关资源
最近更新 更多