例如,我需要做很多年的重复编码
G1990 = pd.read_csv("map_1990.csv")
G1991 = pd.read_csv("map_1991.csv")
". . ."
G2015 = pd.read_csv("map_2015.csv")
其他示例是
path2001=dict(nx.all_pairs_shortest_path_length(G2001))
path2002=dict(nx.all_pairs_shortest_path_length(G2002))
path2003=dict(nx.all_pairs_shortest_path_length(G2003))
". . . "
path2015=dict(nx.all_pairs_shortest_path_length(G2015))
和
df2001.to_csv("path2001.csv")
df2002.to_csv("path2002.csv")
df2003.to_csv("path2003.csv")
". . . "
df2015.to_csv("path2015.csv")
如果我可以使用循环来简化代码,那会很好
for i in range(1990:2015),
G[i] = pd.read_csv("map_[i].csv")
或
for i in range(2001:2015),
path[i]=dict(nx.all_pairs_shortest_path_length(G[i]))
和
for i in range(1990:2015),
df[i].to_csv("path[i].csv")
请帮助我:)
答案 0 :(得分:4)
如果我可以使用循环来简化代码,那会很好
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [].
您只需要稍微修改一下语法即可。
for i in range(1990:2015),
G[i] = pd.read_csv("map_[i].csv")
用于切片,而不用于范围;您需要:
。range(1990, 2015)
将不包括2015年。range(1990, 2015)
语句以及Python中的所有复合语句最后都需要一个for
。:
,然后才能向其中添加内容。G
而不是{}
。[]
明确标记。 1 所以:
f
1。如果您使用的是Python 3.5或更早版本(包括2.7),则不能使用f字符串。相反,您必须编写eggs = {}
for i in range(1990, 2016):
eggs[i] = pd.read_csv(f"map_{i}.csv")
。
答案 1 :(得分:0)
g = {}
for i in range(1900,2015):
g[i] = pd.read_csv('map_'+ str(i) + '.csv')
答案 2 :(得分:-1)
是的。当然,您可以按照以下步骤进行操作:
G = {}
for i in range(1990, 2016):
G[i] = pd.read_csv(f"map_{i}.csv")
或者简而言之:
G = {i: pd.read_csv(f"map_{i}.csv") for i in range(1990, 2016)}