更明确地说,我有这种类型的数据
2011,1,14, Orange ,Buy,1500,
2011,1,19, Apple ,Sell,1500,
2011,1,19, Banana ,Buy,4000,
我正在尝试将它像这样以column = ['date','fruit','trade','quantity']形状直接读取到DataFrame中。
print df_grocer.date
2011-01-14 16:00:00
2011-01-19 16:00:00
2011-01-19 16:00:00
和
print df_grocer.fruit
Orange
Apple
Banana
提前致谢
最佳答案
pd.read_csv
parse_dates:布尔值或整数列表或名称列表或列表列表或字典,默认为False
布尔值。如果为True->尝试解析索引。
整数或名称列表。例如如果[1、2、3]->尝试将第1、2、3列分别解析为单独的日期列。
列表清单。例如如果[[1,3]]->合并列1和3并解析为
一个日期列。
dict,例如{'foo':[1,3]}->将第1、3列解析为日期,并调用结果“ foo”
注意:存在iso8601格式日期的快速路径。
from io import StringIO
import pandas as pd
txt = """2011,1,14, Orange ,Buy,1500,
2011,1,19, Apple ,Sell,1500,
2011,1,19, Banana ,Buy,4000,"""
df = pd.read_csv(
StringIO(txt),
skipinitialspace=True,
header=None,
parse_dates=dict(date=[0, 1, 2]),
usecols=[0, 1, 2, 3, 4, 5],
names=['_', '_', '_', 'fruit', 'trade', 'quantity']
)
print(df)
date fruit trade quantity
0 2011-01-14 Orange Buy 1500
1 2011-01-19 Apple Sell 1500
2 2011-01-19 Banana Buy 4000