猜测当前表示为字符串的数据类型的方法

fma*_*ark 4 python csv parsing types input

我目前正在解析 CSV 表,需要发现列的“数据类型” 。我不知道这些值的确切格式。显然,CSV 解析器输出的所有内容都是字符串。我目前感兴趣的数据类型是:

  1. 整数
  2. 浮点
  3. 日期
  4. 布尔值
  5. 细绳

我当前的想法是测试行样本(可能是几百行?),以便确定通过模式匹配呈现的数据类型。

我特别关心日期数据类型——它们是一个用于解析常见日期习语的Python模块吗(显然我无法检测到它们全部)

整数和浮点数呢?

Ign*_*ams 5

ast.literal_eval()可以得到容易的。

  • -1 ast.literal_eval() 正如人们想象的那样,比数据更适合代码...例如,ast.literal_eval(" 123 ") 会引发 IndentationError,而 int(" 123 ") 不会被空格吓到。看看 `field = "some text"; 的结果 ast.literal_eval(field)` ...`ValueError:格式错误的字符串`。布尔值无用:适用于 True,但 TRUE(通常的 Excel CSV 输出)-> 格式错误的字符串。对日期没用。 (4认同)