【问题标题】:How to change from string to integer when converting from CSV to JSON?从 CSV 转换为 JSON 时如何从字符串更改为整数?
【发布时间】:2020-01-13 13:50:10
【问题描述】:

我发现此代码是为了将 CSV 文件转换为 JSON。但在这种情况下,我需要一个 credit 字段作为integer,因此不应将它包含在引号"" 中。

我使用了这段代码而不是简单的转换器,因为我使用的是嵌套循环:

**Import**
import csv
import json
from itertools import groupby

**Accessing csv** 
with open('testing.csv', 'r') as csv_ledger:
    r = csv.DictReader(csv_ledger)
    data = [dict(d) for d in r]

    groups = []

    for k, g in groupby(data, lambda r: (r['ref_num'], r['date'])):
        groups.append({
            "date": k[1],
            "ref_num": k[0],
            "items": [{k: v for k, v in d.items() if k not in ['ref_num', 'date']} for d in list(g)]
        })

print(json.dumps(groups[:10], indent=4))

这是输出

"date": "2018-12-28",
        "ref_num": "PV18/12/066",
        "items": [
            {
                "description": "Jacky",
                "debit": "",
                "credit": "59.80",
                "coa_code": "310-1000",
                "coa_name": "Samboi"
            },

预期输出 - 查看信用属性

"date": "2018-12-28",
        "ref_num": "PV18/12/066",
        "items": [
            {
                "description": "Jacky",
                "debit": "",
                "credit": 59.80,
                "coa_code": "310-1000",
                "coa_name": "Samboi"
            },

您能否告诉我如何在从 CSV 转换为 JSON 结构时将 integer string 转换为 integer

【问题讨论】:

  • 您有一个要从字符串转换为数字的已识别值。你被困在哪里了?那部分是直接浏览器搜索,或任何字符串/数字教程。
  • 我搜索过,但我无法做到。我是编程新手
  • “无法做到”不是 SO(堆栈溢出)问题规范。您需要找到字符串、识别其类型并进行转换(可能使用float(string))。其中的每一个都包含在文档和教程中。
  • 执行 K[2] 来定位字符串不起作用
  • 同样,“不工作”不是 SO 规范。用具体问题更新您的帖子;向我们提供预期的Minimal, complete, verifiable example,我们可以提供帮助——我很乐意撤销我的关闭和否决票。

标签: javascript python json csv integer


【解决方案1】:

你为什么需要它?我认为有效的 JSON 总是有引号。您可以 JSON 解析它并将其转换为 javascript 对象。然后您可以将字符串转换为您需要使用的特定值的数字。

当您稍后获取信用以使用它时。您可以将其转换为数字,然后像这样:

var creditNum = parseFloat(data.items[0].credit);

【讨论】:

  • 由于应用程序正在构建该特定值需要是整数
  • 在for循环下还是之前?
猜你喜欢
  • 2014-09-19
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
  • 2015-07-04
  • 2018-08-04
相关资源
最近更新 更多