将JSON数据加载到CSV中时,CSV excel文件中的格式不正确

时间:2019-05-12 14:00:34

标签: python json csv

我在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()

This is the output of csv file.

2 个答案:

答案 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])