【发布时间】:2017-04-05 14:54:46
【问题描述】:
我使用 Python 3.x 并想为 plotly 绘图准备数据。
我不知道我的问题的根源在哪里。我有 for 循环:
for i in range(2,6):
cases.append(go.Scattergeo(
lon = pop['Lon'],
lat = pop['Lat'],
text = pop[[i]],
name = years[i],
marker = dict(
size = pop[[i]],
),
) )
并输出:repr(cases)
"[{'marker': {'size': 1980-12-31\n0 17.0\n1 19.4\n2 24.3\n3 20.7\n4 0.0\n5 27.7\n6 39.6\n7 22.5\n8 224.2\n9 32.3\n10 163.8\n11 20.7\n12 0.0\n13 20.6\n14 24.4\n15 39.8\n16 22.0\n17 35.8\n18 348.6\n19 234.3\n20 53.0\n21 19.7\n22 18.3\n23 32.0\n24 150.1\n25 35.6\n26 33.8\n27 33.9\n28 31.5\n29 35.4\n.. ...\n204 23.5\n205 0.0\n206 19.2\n207 133.5\n208 22.8\n209 1596.1\n210 42.4\n211 17.1\n212 18.3\n213 106.8\n214 0.0\n215 30.9\n216 617.7\n217 23.5\n218 16.6\n219 17.3\n220 196.0\n221 23.9\n222 28.8\n223 17.4\n224 46.8\n225 35.4\n226 62.6\n227 39.0\n228 53.1\n229 33.3\n230 0.0\n231 47.5\n232 37.2\n233 28.3\n\n[234 rows x 1 columns]}, 'name': '1980', 'lon': 0 19.299\n1 19.339\n2 23.000\n3 20.809\n4 19.129\n5 19.360\n6 23.110\n7 15.979\n8 23.159\n9 16.610\n10 19.049\n11 23.290\n12 19.100\n13 22.729\n14 20.429\n15 15.560\n16 19.399\n17 17.470\n18 18.010\n19 18.909\n20 23.490\n21 18.429\n22 16.910\n23 17.569\n24 19.030\n25 19.399\n26 20.620\n27 18.629\n28 19.020\n29 19.129\n ...
问题是输出被截断。我认为这是一个显示问题并将此变量保存到文件中,但令人惊讶的是,在该文件中显示的文本完全相同。 [234 rows x 1 columns] 的值不应在文件中。
f = open( 'cities.py', 'w' )
f.write( 'dict = ' + repr(cases) + '\n' )
f.close()
对不起,也许这个问题是微不足道的,我时常使用 Python,并没有完全理解它的奇怪机制。在每种语言中,变量都可以在显示时被截断,但不是这样。我应该使用什么函数来查看所有值?
干杯。
【问题讨论】:
-
pop[[i]]不应该做任何事情,你应该看到一个错误 -
您正在将
repr(cases)写入文件,因此它将具有相同(截断)的内容。要查看整个字典,请使用 pprint (docs.python.org/2/library/pprint.html) 之类的东西。 -
repr 的大小是有限的。尝试转换为 json 或其他文件格式。
-
不要在您的问题中添加答案——只需添加一个答案。你也可以接受。
-
好的,但是按钮建议使用评论框。在这种情况下我总是很困惑。