【问题标题】:Python import table data from Mac .numbers filePython 从 Mac .numbers 文件中导入表数据
【发布时间】:2018-06-09 23:07:20
【问题描述】:

我是 Python 新手,我正在尝试处理一些数字。附样本:Open High Low Close Sample Data

我已经测试了几种导入数据的变体,但都失败了。真的很感谢一些建议。谢谢!

path = 'Data/Price.numbers'
with open(path) as file:    
file.readline()
for line in file:
    values = map(float, line.split())
    test.append(values)

主要目标:

1) 以我可以轻松操作和应用计算的格式有效地存储表格数据 > 我正在考虑一个 Dict{} > 任何 cmets?

2) 针对快速计算进行了优化,因为我需要处理多种证券的数据 > 我估计大约有 1,000,000 到 2,000,000 个数据点。

再次感谢任何建议,以更好地做到这一点。

【问题讨论】:

  • 您打算如何直接从 Excel 或 Numbers 文件导入数据?这些文件格式不是原始数据(例如 CSV 文件),因此您必须对这些文件进行解码,然后将其处理成可用的形式。如果您需要验证您使用的是最新数据,您可以更轻松地从这些文件(例如 CSV)中导出数据,或者使用库从文件中读取数据。
  • 嗨本杰明,感谢您的建议。似乎大多数专家都建议使用 csv 格式。我会试一试。我看到的另一个问题是每天将我的数字文件转换为 csv 格式的可行性。我需要不断刷新我的数据馈送。能给我进一步的建议吗?

标签: python macos python-2.7 import algorithmic-trading


【解决方案1】:

numbers-parser 库可用于解析.numbers 文件。来自 Github 页面上的示例:

from numbers_parser import Document
doc = Document("my-spreasdsheet.numbers")
sheets = doc.sheets()
tables = sheets[0].tables()
rows = tables[0].rows()

【讨论】:

    【解决方案2】:

    您可以使用 pandas 库。看看文档here

    例如,如果您将文件保存为 csv,则可以使用逗号作为分隔符:

    import pandas as pd
    df = pd.read_csv('name of the file.csv', sep=',')
    

    如果遇到编码错误,可以尝试:

    import pandas as pd
    df = pd.read_csv('name of the file.csv', sep=',', encoding='latin-1')
    

    【讨论】:

    • 非常感谢。直接从excel或数字导入数据是不是可取的?我浏览了 pandas 文档并意识到使用 python 内置语言操作数据可能更容易,因为我需要在方法上多次运行方法。
    【解决方案3】:

    Numpy 是一个很棒的数据导入库。

    例如:

    import numpy as np
    import
    ran = np.array([(np.loadtxt"a.txt"), delimiter =';'])
    print(ran[1])
    

    然后您可以将数据作为数组操作,如下所示: https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Numpy_Python_Cheat_Sheet.pdf

    【讨论】:

    • 非常感谢。直接从excel或数字导入数据是不是不可取?我浏览了 pandas 文档并意识到使用 python 内置语言操作数据可能更容易,因为我需要在方法上多次运行方法。
    • 可能很容易复制粘贴到.csv 文件中然后使用。 @pappusenpai
    • 您还可以将.csv 文件另存为.txt
    • 谢谢理解:)
    • 如果这回答了你的问题@pappusenpai,那么就把它作为你的答案。
    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 2018-08-08
    相关资源
    最近更新 更多