【问题标题】:Parse CSV from live url to HTML Table将 CSV 从实时 URL 解析为 HTML 表
【发布时间】:2018-11-24 22:45:55
【问题描述】:

我在哪里可以获得从 URL 检索 CSV 文件并将内容放入我的 HTML 正文的简单方法示例?只需一个简单的 JavaScript 或 jquery 即可自动在线提取最新的 CSV 内容并通过我的 html 脚本运行它,并在 CSV 的每一行周围放置表格标签。这样,当 CSV 文件发布时,例如 google sheet CSV 输出,网站将显示包含更新内容的表格。

我尝试过在线查看教程,但大多数都围绕转换物理文件或上传本地路径,但没有来自公共 URL。

如果这不是一个公平的问题,请在否决我之前告诉我,以便我可以在需要时将其删除。

【问题讨论】:

    标签: javascript ajax csv google-sheets


    【解决方案1】:

    如果您想查看公共文件,您无需更改任何内容 - 您只需使用 jQuery 即可:

    $.ajax({
        url: "https://upload.cat/e307f4f114696856",
        dataType: "text"
    }).done(function(data) {
        $("body").append(data);
    });
    

    然后你可以用这条线做任何你想做的事情:

    $("body").append(data);
    

    使数据在您的页面上看起来不错。

    【讨论】:

    • 愚蠢的问题,但是脚本 src= 有什么用?我使用了一个 w3 学校 src 并让它工作,但它在我的主机上不起作用。
    • 我正在使用
    【解决方案2】:

    这里是example 使用google sheet 绘制html

    您使用 ajax 获取数据。在这种情况下 axios 然后解析它。

    var app = new Vue({
    el: '#app',
    mounted() {
        let vm = this
        axios
            .get(
                'https://sheets.googleapis.com/v4/spreadsheets/1zIVCVA0Tk5CvAiTyeAdDBPygT3aKDiSeM2FbPU0JO2c/values/Specials!A2:D20?key=AIzaSyBhiqVypmyLHYPmqZYtvdSvxEopcLZBdYU'
            )
            .then(function (response) {
                let specials = response.data.values
                for (let index = 0; index < specials.length; index++) {
                    const element = specials[index]
                    let mitem = {
                        name: element[0],
                        description: element[1],
                        price: element[2]
                    }
                    if (vm.isEven(index)) {
                        vm.menuItems_L = vm.menuItems_L.concat(mitem)
                    } else {
                        vm.menuItems_R = vm.menuItems_R.concat(mitem)
                    }
                }
                console.log(response)
            })
    },
    data: {
        menuItems_L: [],
        menuItems_R: [],
        menuStyle: {
            background: '#ffe6d1',
            color: '#000'
        },
        dotStyle: {
            backgroundImage: 'radial-gradient(' + this.color + ' 1px, transparent 0px)'
        }
    },
    computed: {},
    methods: {
        isEven: function (n) {
            return n % 2 == 0
        }
    }
    

    });

    【讨论】:

    • 谢谢!看来此 google 表格是为带有密钥的 API 帐户设置的。当我尝试用我的公共 google 表格替换 URL 时,它不起作用。有什么方法可以在没有钥匙的情况下完成这项工作?
    • 思路一样,都是用ajax获取文件,然后用D3解析。此外,您不能只用 url 替换您的公共工作表。这是如何将工作表转换为 json youtube.com/watch?v=usK5OdUSWQQ 的示例
    猜你喜欢
    • 1970-01-01
    • 2010-11-08
    • 2014-02-17
    • 1970-01-01
    • 2011-09-15
    • 2014-09-01
    • 2019-03-31
    • 2013-04-16
    • 1970-01-01
    相关资源
    最近更新 更多