Python(带有Tweetpy)通过tweet存档并与每个执行动作

时间:2019-01-19 20:42:17

标签: python csv twitter

我想浏览从Twitter下载的.csv tweet存档中的所有tweet,并对每个tweet进行操作,但是出现类似以下错误:

  

文件“ AppData \ Local \ Programs \ Python \ Python36 \ tweetp \ tweetp.py”,第39行,在       下一个(阅读器,无)

     

第23行中的文件“ AppData \ Local \ Programs \ Python \ Python36 \ lib \ encodings \ cp1257.py”在解码中       返回codecs.charmap_decode(input,self.errors,decoding_table)[0]

     

UnicodeDecodeError:“字符映射”编解码器无法解码位置782处的字节0x9f:字符映射到

我很难弄清楚。是什么使它无法读取.csv文件,如何使它工作? 这是事情分崩离析的代码片段:

with open(tweets_csv, 'r') as f:
  reader = csv.reader(f)

  # Skip header
  next(reader, None)

  # Convert CSV to list
  tweets_list = list(reader)

for tweet in tweets_list:
    # tweet[0] is the tweet_id column
    tweet_id = tweet[0]
    print('[ - ] tweet with id %s' %(tweet_id))

1 个答案:

答案 0 :(得分:0)

请考虑使用pandas.read_csv。这会将您的CSV文件读入数据框。

参数中的传递限制-true,仅传递一列。 这是一个不错的tutorial

# Import pandas 
import pandas as pd

# make the passed column as index instead of 0, 1, 2, 3....
# below will print the values under the header 'tweets_column_title'
df = pd.read_csv('path_to_tweets_csv_file.csv', index_col = 'tweets_column_title', squeeze=True)

for i in df.iterrows(): 
    print(i[0])         # You can then simply extract each message like this.