我想知道如何使键成为列标题(结果,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))
答案 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}上分割},但必须以两个或两个以上字母开头:
: