Python:json数据写入文件str
嗨!以下是代码:Python:json数据写入文件str,python,json,string,twitter,Python,Json,String,Twitter,嗨!以下是代码: def on_data(self, data): j_data = json.loads(data) tweet = data.split(',"text":"')[1].split('","source')[0] print j_data[u"text"] saveTweet = str(time.time())+'::'+tweet saveFile = open('tweetDB1.csv','a') saveFile.
def on_data(self, data):
j_data = json.loads(data)
tweet = data.split(',"text":"')[1].split('","source')[0]
print j_data[u"text"]
saveTweet = str(time.time())+'::'+tweet
saveFile = open('tweetDB1.csv','a')
saveFile.write(saveTweet)
saveFile.write('\n')
saveFile.close()
但是!我需要在文件中以字符串的形式写一条tweet,而不需要任何garbarge。如果我写打印推文(不是打印j_数据[u“text]”),我将使用utf-8代码,而不是编码:
-\u0422\u044b\u0432\u0438\u0434\u0435\u043b
我如何修复它?我认为您应该对数据进行编码
saveTweet=saveTweet.encode(encoding='utf-8')
要仅将文本字段附加到CSV文件,请使用:
def on_data(self, data):
j_data = json.loads(data)
tweet = j_data[u"text"]
with open('tweetDB1.csv', 'a') as save_file:
save_file.write('{}::{}\n'.format(time.time(), tweet.encode('utf8'))
这会将原始JSON数据加载到字典中,只使用文本
字段,并在写入文件时将其编码为UTF-8
您的版本使用了JSON编码的字符串,完全忽略了
j_数据
字典。您还可以删除json.loads()
调用。JSON使用转义序列来表示Unicode码点。上面写的是UTF-8数据。这不是垃圾。。这只是一种编码。数据是什么样的?还尝试tweet=j_data.split(',“text”:“)[1]。split(',“source”)[0]但我有一个错误,但我有一个错误:我有一个错误:“dict”对象有一个错误:“dict”对象有一个没有属性的“dict”对象有一个没有属性的“dict”对象有一个错误:“dict”对象有一个错误:“dict”对象有一个没有属性“分割”数据有一个属性“分割”数据的数据像是:如:若托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托-但是当它写入一个文件时,它会像千个符号一样写入\u0422\u044b\u0432\u0438\u0434\u0435\u043bYou有类似于的东西吗?还有,你使用的是哪种python版本?是的。但是当我写入一个文件时,它是“\u0438\u0434\u”,而不是“tu”?“Python2.7AttributeError:‘dict’对象没有属性‘decode’你的json数据是什么?请给我一个例子。谢谢。数据是这样的:Ааааааааааааааааааааааааааааааааааа1072imk c您应该尝试在python文件head中添加#-*-编码:utf-8-*-
。请查看我问题下的注释