【问题标题】:How can I automatically put data into code lines?如何自动将数据放入代码行?
【发布时间】:2019-11-02 07:39:17
【问题描述】:

我有一个从加拿大统计局获得的 GEOJSON 代码,我正在尝试在其中输入一些数据。

这是我的 geojson 代码

{ "type": "Feature","properties": {"name": "001", "ivl_a": 1.1, "ivl_f": 0.3, "differentiel": 1.5...
{ "type": "Feature","properties": {"name": "002", "ivl_a": 1.1, "ivl_f": 0.3, "differentiel": 0.4...
{ "type": "Feature","properties": {"name": "003", "ivl_a": 1.1, "ivl_f": 0.3, "differentiel": 0.4...

我想用 Excel 列中的数据替换 ivl_a、ivl_f 和 differentiel 的数据。

我该怎么做?

【问题讨论】:

    标签: python statistics geojson imputation


    【解决方案1】:

    也许这足以指导您,尽管我不确定我是否掌握了所有细节。

    由于你没有说明细节,我做了一些假设:

    • 您的 geojson 数据是一个 json 对象列表,每个对象都有一个“属性”键
    • 您正在使用包含在每个功能属性中的电子表格中的“名称”查找值来更新功能属性

    我设置了一个 csv 结构(没有标题): 名称、ivl_a、ivl_f、差异

    在读/写geojson数据方面,我把这个留给你做练习(因为上面的示例数据不完整)

    import csv
    
    
    def read_csv(csv_filename):
        # assuming csv of (without header)
        #  name, ivl_a, ivl_f, differentiel
    
        lookup = {}
    
        with open(csv_filename) as csvfile:
            reader = csv.reader(csvfile)
            for row in reader:
                name = row[0]
                lookup[name] = {
                    'lvl_a': row[1],
                    'lvl_f': row[2],
                    'differentiel': row[3]
                }
    
        return lookup
    
    
    def main():
        lookup = read_csv('data.csv')
    
        # todo: read the data into list of dicts
        features = []
    
        for feature in features:
            props = feature['properties']
            name = props['name']
            props['lvl_a'] = lookup[name]['lvl_a']
            props['lvl_f'] = lookup[name]['lvl_f']
            props['differentiel'] = lookup[name]['differentiel']
    
        # todo: save
    
    
    if __name__ == '__main__':
        main()
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢.. 我应该把这段代码放在哪里以及如何在我的 .js 文件中写入数据?
    • 我无法安装 openpylx... 我收到此错误:错误:找不到满足 openpylx 要求的版本(来自版本:无)错误:找不到与 openpylx 匹配的发行版
    • 还有其他方法吗? Excel 中的数据,我可以将其保存为 CSV,然后保存在文本文件中。我只需要找到一种方法来获取这些数据并将其放在正确的位置.... 我有 2000 行数据和每行 3 个不同的数据,所以如果没有脚本的话会有点长。
    猜你喜欢
    • 2016-11-19
    • 2022-12-05
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2021-02-04
    • 2020-01-09
    • 2022-01-13
    相关资源
    最近更新 更多