熊猫-枢轴,堆叠,堆叠?

时间:2018-07-31 20:00:57

标签: python pandas

我想知道如何使键成为列标题(结果,IP,时间)?

CSV格式的数据如下:

"Result":"Success","IP":"0.0.0.0","time":"2018-08-20T12:00:00.000Z"
"Result":"Failure","IP":"1.1.1.1","time":"2018-08-20T12:01:00.000Z"

我想要这样格式化:

Result        IP        time
Success    0.0.0.0    2018-08-20T12:00:00.000Z
Failure    1.1.1.1    2018-08-20T12:01:00.000Z

到目前为止,我的代码:

import pandas as pd
file = pd.read_csv("path_to.csv", sep='\n', names = ["Result","IP","time"])
df = pd.DataFrame(file)
print(df.head(1))

2 个答案:

答案 0 :(得分:2)

您需要:

import csv
file = pd.read_csv("foo.csv", sep=',', header=None, quoting=csv.QUOTE_ALL, names=["Result", "IP", "time"])
df = pd.DataFrame(file)
df = df.applymap(lambda x: (''.join(str(x).split(":")[1:]))[1:-1])

输出:

    Result       IP                    time
0  Success  0.0.0.0  2018-08-20T120000.000Z
1  Failure  1.1.1.1  2018-08-20T120100.000Z

答案 1 :(得分:1)

这是一种类似的方法,也使用str.split,但是它通过分割正则表达式来保留您的时区信息,而正则表达式比仅在:上分割更具选择性(在{{1}上分割},但必须以两个或两个以上字母开头:

: