写入我的CSV时,即使我使用了追加功能,我的列表项也会分解为单个字符串。我认为问题在于我如何使用 writerow ,但我不太确定。
这是我的代码。
twitter = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
input_path = 'doc_list.csv'
output_path = 'doc_tweets.csv'
docs_array = []
with open(input_path, 'r') as doc_file:
docs = csv.reader(doc_file)
for row in docs:
docs_array.append(row)
with open(output_path, 'w') as tweets_file:
writer = csv.writer(tweets_file, quoting=csv.QUOTE_MINIMAL, lineterminator='\n')
for name in docs_array:
tweet_list = []
user_timeline = twitter.get_user_timeline(screen_name=name, count=100, include_retweets=False)
for tweet in user_timeline:
tweet_list.append(tweet['text'])
for li in tweet_list:
writer.writerow(li)
del tweet_list[:]
del docs_array[:]
在编写器重复之前列表中的内容的一个例子是
,' @etritabaugh华丽',
通过writer.writerow(li)后,它变为
@,e,t,r,i,t,a,b,a,u,g,h ,, g,o,r,g,e,o,u,s
答案 0 :(得分:0)
public interface UserAccountRepository
extends CrudRepository<UserAccount, Integer>,
CustomQueryDslPredicateExecutor<UserAccount> {
[...]
}
需要 iterable ,一旦获得字符串,字符串中的每个字符都会被拆分作为单独的列。
要将整个列表作为单行写入csv,您将不需要第二个 for 循环:
writerow
相反,如果您希望将列表中的每个项目编写为单独的行,则使用列表文字,这将阻止该字符串用作行:
for tweet in user_timeline:
tweet_list.append(tweet['text'])
writer.writerow(tweet_list)