解析不使用输入时意外的EOF
问题描述:
有人可以告诉我这里有什么问题。我正在阅读包含字典列表的文本文件。 [code] [1] '我不知道为什么添加第二个花括号......我只在循环中得到这个错误。类似错误的答案似乎解决了使用input()或raw_input。 “AM直接从文本文件中读取像解析不使用输入时意外的EOF
with open('mybundle.txt', 'r') as R:
list = []
my_data = R.read()
my_data = my_data.replace('[','')
my_data = my_data.replace(']','')
my_data.rstrip('\r\n')
my_data = my_data.split('},')
import ast
for a in my_data:
rec = a+'}'
list.append(rec)
m = ast.literal_eval(list[100])
#Now this works..
print(m)
print(m['open'])
{'volume': 0, 'quoteVolume': 0, 'high': 260.00000522, 'low': 260.00000522, 'date': 1425801600, 'close': 260.00000522, 'weightedAverage': 260.00000522, 'open': 260.00000522}
260.00000522
try:
df_=[ast.literal_eval(x) for x in list]
df = pd.DataFrame(df_, index=['date'], columns=
["high","low","open","close","volume","quoteVolume","weightedAverage"])
except EOFError:
#my_data = pd.DataFrame(list(my_data))
print(df.head())
File "<unknown>", line 1 {"date":1503403200,"high":3959,"low":3838.4845461,"open":3881.999999,"close":3887.75413166,"volume":6580841.4708805,"quoteVolume":1683.41702938,"weightedAverage":3909.21640688}}
语法错误:意外的EOF在解析
答
这是否帮助你看到的问题?
text = '{a},{b},{c}'
for part in text.split('},'):
print('Part: {}'.format(part))
print('Part with added curly brace: {}'.format(part + '}'))
# Output:
# Part: {a
# Part with added curly brace: {a}
# Part: {b
# Part with added curly brace: {b}
# Part: {c}
# Part with added curly brace: {c}}
您可以通过不加花括号来分割列表的最后一个元素解决这个问题,或者你可以做一些更明智的解析。 (如果您可以控制如何创建此文件,请考虑使用像JSON这样的序列化格式。)
+0
哈哈..不知道该不该笑或哭。谢谢! – mikey1
将代码直接粘贴到此处。不要共享文字的屏幕截图。 – smarx