您可以用read_csv
如果sep=';'
在文件不;
,因此,所有的數據都在一個Series
。
import pandas as pd
import ast
import io
temp=u"""{"time": "2016-03-28T23:23:12Z","target": "Raffi-Antilian"}
{"time": "2016-03-28T23:23:12Z","target": "Caroline-Kaiser"}"""
#after testing replace io.StringIO(temp) to filename
s = pd.read_csv(io.StringIO(temp), index_col=None, header=None, sep=';', squeeze=True)
print (s)
0 {"time": "2016-03-28T23:23:12Z","target": "Raf...
1 {"time": "2016-03-28T23:23:12Z","target": "Car...
Name: 0, dtype: object
L = s.apply(lambda x: ast.literal_eval(x)).tolist()
print (L)
[{'time': '2016-03-28T23:23:12Z', 'target': 'Raffi-Antilian'},
{'time': '2016-03-28T23:23:12Z', 'target': 'Caroline-Kaiser'}]
print (pd.DataFrame(L))
target time
0 Raffi-Antilian 2016-03-28T23:23:12Z
1 Caroline-Kaiser 2016-03-28T23:23:12Z
編輯:
另一條線解決方案:
import pandas as pd
import json
print (pd.DataFrame([json.loads(line.strip()) for line in open('file.txt')]))
target time
0 Raffi-Antilian 2016-03-28T23:23:12Z
1 Caroline-Kaiser 2016-03-28T23:23:12Z
如何將數據存入數據框?這是解決這個問題的一步。 – root
@root看起來像一個字典或JSON的repr,由','分割......但是......完全同意:) –
@root我使用pd.DataFrame.from_csv命令通過.txt文件獲取它。在.txt文件中,單個記錄被封裝在一個字典中,並且記錄之間沒有分隔符(例如{'time':XX,'Target':YY}'''''''',V','Target':ZZ})。 –