csv - AWS 胶水:当 CSV 包含字符串和时间戳/日期值时,爬虫无法识别元数据
问题描述
当我们将 CSV 视为爬虫的输入时,我遇到了一件事
- 当所有数据都是 CSV 中的字符串格式时,爬虫不会识别列标题。
#P1 标题显示为 col0,col1...colN。#P2 并且实际的列名被视为数据。#P3 元数据(即列数据类型显示为字符串,即使 CSV 数据集包含日期/时间戳值)
- 如果我们要考虑自定义 (CSV) 分类器,那么我们将手动提及列标题。
#P2 将被覆盖,即列名将被删除,但 #P1 仍然保持不变。列标题将显示为 col0,col1...colN。
我想避免三件事并达到预期的结果。
- 仅包含字符串的 CSV 应显示实际的列名,而不是 col0、col1...colN。
- 一旦被爬虫爬取,生成的表的元数据应该正确显示(即日期/时间戳,字符串)。
- 如果使用自定义分类器,我们需要在分类器中手动提及列标题名称,但结果并不理想。需要通用解决方案而不是人工干预。
已阅读此文档:此处 如果有人已经实施了该解决方案,请提供帮助。
解决方案
我得到了上述问题之一的解决方案。通过在 CSV 分类器中使用“有标题”来显示标题,即 CSV 的第一行。
但是,以下解决方案尚未弄清楚。
- 即使列包含时间戳/日期值,CSV 文件的元数据也会显示为字符串。Crawler 将这些数据类型作为字符串读取。
- 自定义分类器需要人工干预。我已经提到了分类器中的所有列名。有通用解决方案吗?
推荐阅读
- node.js - ffmpeg和s3之间的标题冲突
- ruby-on-rails - 安装 ruby gems 时出错(由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。)
- react-native - 错误无法解析清单资产。图标可能不起作用。无法在博览会中执行缓存刷新?
- sql - SQL中的整数到字符串
- python - Informatica 服务器(托管在 NTTData 上的共享网络)与 Google Cloud Storage 的 Pythonic 连接
- java - 如何使用 Postgres JSON?jdbcTemplate 中的运算符?
- c++ - 打开高级选项时 QPrintDialog 崩溃
- javascript - 计算从 url 参数 React 获得的值 count
- swift - SwiftUI+Combine - 动态订阅发布者的字典
- flutter - 使用 Flutter 命名路由的 FadeTransition