我有一个从mongodb导出到csv的字符串:这是一个例子:
python stringwork.py thestring.txt
我试图把日期写进dict,这样我就可以拿出我需要的东西并将其导出。
我尝试将其放入列表中,但它会在每个字母中创建元素。
字符串位于txt文件中,我这样称呼它:
from sys import argv
import json
# filename = argv
txt = open(argv[1])
json.loads(str(txt))
我看到了this question并尝试了这个:
ValueError: No JSON object could be decoded
我收到了以下错误。
my build.sbt looks like this
name := "Kafak"
version := "1.0"
scalaVersion := "2.12.2"
libraryDependencies += "com.google.code.gson" % "gson" % "2.8.1"
libraryDependencies += "org.apache.kafka" % "kafka-clients" %
"0.10.2.1"
libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.6.1"
// https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-
client
libraryDependencies += "org.apache.hadoop" % "hadoop-client" %
"3.0.0-alpha3"
// https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-
core
libraryDependencies += "org.apache.hadoop" % "hadoop-core" %
"2.6.0-mr1-cdh5.9.0"
答案 0 :(得分:1)
txt
变量是一个文件对象,无法转换为字符串。因此,您应该阅读文件对象的内容,例如txt = open(argv[1]).readlines()
。然后,您可以使用txt
获取txt[0]
列表中的字符串。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sys import argv
import json
filename = argv
txt = open(argv[1]).readlines()
a = json.loads(str(txt[0]))
print(a)
答案 1 :(得分:1)
你在这里有点困惑:
txt = open(argv[1])
json.loads(str(txt))
在此之后,txt
是一个文件对象,而不是实际的字符串。
为此,你需要做这样的事情:
txt = open(argv[1]).read()
json.loads(txt)
此处txt
已经是包含文件内容的字符串,因此无需str
。
检查读/写文件documentation。