我想浏览从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))
答案 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.