python - Tweepy,如何正确格式化输出到 csv 文件?
问题描述
我正在尝试使用一些关键字搜索 twitter 以查找特定日期的关键字推文,并将推文写入 csv 文件。
import pandas as pd
import tweepy as tw
import datetime
consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""
auth = tw.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tw.API(auth,wait_on_rate_limit=True)
search_words = ["chelsea","liverpool"]
date_since = "2020-07-19"
startDate = datetime.datetime(2020,7,22,0,0,0)
endDate = datetime.datetime(2020,7,23,0,0,0)
# Collect tweets
for i in search_words:
new_search = i + " -filter:retweets"
tweets = tw.Cursor(api.search,
q=new_search,
lang="en",
since=date_since,tweet_mode="extended").items(1000)
# Iterate and print tweets
for tweet in tweets:
if tweet.created_at < endDate and tweet.created_at > startDate:
dfObj = dfObj.append({"Tweets": tweet.full_text},ignore_index=True)
dfObj.to_csv(r'tweet.csv',header=True)
csv 文件具有如下字符:
🥴🥴 â€
如何摆脱这些字符或正确地将它们输入到 csv 中?
还有什么方法可以在不循环列表的情况下搜索多个关键字?例如搜索任何包含短语“切尔西”或“利物浦”的推文?
解决方案
您可以尝试使用以下代码更改最后一个代码块:
with open("tweets.csv", "w") as f:
writer = csv.writer(f)
for tweet in tweets:
if tweet.created_at < endDate and tweet.created_at > startDate:
f.write("%s\n"% (tweet.full_text.encode("utf-8")))
推荐阅读
- c# - 从 MainWindow.xaml.vb 设置用户控件的变量值
- c - 输出后换行
- javascript - 使用香草 javascript 无限滚动
- node.js - Node.JS 服务器崩溃
- docker-compose - 无法在 Visual Studio 2019 中使用 Azure Function 项目构建 docker compose
- python - Selenium/Python:更改元素属性
- r - 将 data.table 列中以逗号分隔的字符串中的数字转换为长表形式
- javascript - 这个语法是什么意思“ function(a,d){...}(Jquery,...); ”
- ios - 画外音 - 恢复听写
- java - java中的控制台不显示来自sql表的数据