我曾尝试创建自己的python模块,其中包含多个函数,但最终失败了';由于语法错误,无法加载
我在同一个文件我曾尝试创建自己的python模块,其中包含多个函数,但最终失败了';由于语法错误,无法加载,python,function,module,Python,Function,Module,我在同一个文件twitter\u functions.py中创建了两个不同的函数。第一个函数(import_tweets)的目的是将Twitter数据加载到列表中。第二个函数(most_freq)的目的是从第一个Twitter数据中统计最常见的作者和hashtag 为了使事情模块化,我想在运行most\u freq时调用import\u tweets来导入数据。但是,当我尝试将带有这两个函数的模块加载到python中时,会出现以下错误: import twitter_functions as t
twitter\u functions.py
中创建了两个不同的函数。第一个函数(import_tweets
)的目的是将Twitter数据加载到列表中。第二个函数(most_freq
)的目的是从第一个Twitter数据中统计最常见的作者和hashtag
为了使事情模块化,我想在运行most\u freq
时调用import\u tweets
来导入数据。但是,当我尝试将带有这两个函数的模块加载到python中时,会出现以下错误:
import twitter_functions as tf
File "D:\python\twitter_functions.py", line 76
hashtags = [i['text'] for i in hashtags]
^
SyntaxError: invalid syntax
我已经尝试了所有方法,只对我的代码行进行单独注释,但在尝试导入我的twitter\u函数时仍然会抛出某种错误
当我刚刚在我的模块(twitter\u函数
)中使用了第一个函数(import\u tweets
)时,它工作得很好。而且我知道大多数频率的代码也工作得很好。当我试图把它们放在同一个模块中时,我肯定遗漏了一些东西。理想情况下,我希望向我的twitter\u函数
模块中添加其他函数,但在设计这些函数之前,我需要找出我在这里做错了什么
import json
import time
from collections import Counter
def import_tweets(input_file):
"""
Loads JSON data from Twitter Streaming API for analysis.
Parameters
----------
input_file : JSON file from Twitter Streaming API
Returns
-------
List of nested dictionaries
"""
# Load JSON data into a dict
data = []
for line in open(input_file):
try:
data.append(json.loads(line))
except:
pass
# Transform Twitter tweet date/time format into standard date/time format
for i in data:
i['CREATED_AT'] = time.strftime('%Y-%m-%d %H:%M:%S',time.strptime(i['created_at'],'%a %b %d %H:%M:%S +0000 %Y'))
return data
def most_freq(input_file):
"""
Counts the most frequent users and hashtags
Parameters
----------
data : output from import_tweets
Returns
-------
Top 10 most frequent users and hashtags
"""
# Load data from import_tweets
data = import_tweets(input_file)
# Create list of all tweet authors
authors = [i['user']['screen_name'] for i in data]
# Create a list of all hashtags
hashtags = []
for i in data:
if ['entities'] in i:
hashtags.append(i['entities']['hashtags']
hashtags = [i['text'] for i in hashtags]
print Counter(authors).most_common(10)
print Counter(hashtags).most_common(10)
return
您忘记了上一行的结束语)
:
Python将下一行视为该语句的一部分,因为.append()
调用尚未关闭,但下一行上的hashtags
不是要跟随的有效语句i[…][…]
hashtags.append(i['entities']['hashtags']
# ^ ^
# \- opened, not closed --/