我在JSON文件中有一些数据,并且我已经使用下面的代码将它们写入到csv文件中,但是我发现句子中的每个单词都占据了一列,我想将整个句子存储在一个柱。
这是代码:
for line in open('test1.json', 'r'):
if not line.strip():
continue
data = json.loads(line)
text = data["text"]
filtered_text = clean_tweets(text)
print(filtered_text)
with open ('test1.csv', 'a', encoding='utf-8') as f:
csvWriter = csv.writer(f)
csvWriter.writerow(filtered_text)
f.close()
答案 0 :(得分:2)
csv.writerow()
需要一个可迭代的参数。迭代器中的每个项目都放在一列中。字符串是可迭代的,因此每列中只有一个字符。
将字符串放入列表中
csvWriter.writerow([filtered_text])
但是,由于您似乎只有一列,因此不需要使用csv
模块。只需使用:
with open('test1.csv', 'a', encoding='utf8') as f:
f.write(filtered_text + '\n') # add newline if needed
另一个选择:
with open('test1.csv', 'a', encoding='utf8') as f:
print(filtered_text,file=f) # will add the newline
答案 1 :(得分:0)
csvWriter.writerow()
包含一个列表或类似的列-您需要提供例如csvWriter.writerow([tweet_id, filtered_tweet])