你可以做到這一點與pandas
容易,然後如果你需要numpy
數組,你可以訪問values
:
import pandas as pd
from io import StringIO
data = """
"07220S006","14/01/12 01:59:50",10,"0"
"07220S006","14/01/12 02:00:00",10,"0"
"07220S006","14/01/12 02:00:10",10,"0"
"""
df = pd.read_csv(StringIO(data), header=None)
print(df)
0 1 2 3
0 07220S006 14/01/12 01:59:50 10 0
1 07220S006 14/01/12 02:00:00 10 0
2 07220S006 14/01/12 02:00:10 10 0
print(df.values)
array([['07220S006', '14/01/12 01:59:50', 10, 0],
['07220S006', '14/01/12 02:00:00', 10, 0],
['07220S006', '14/01/12 02:00:10', 10, 0]], dtype=object)
編輯
IUUC你想要將日期列分割爲日期和時間(或者到年份,月份等)/您可以先將該列轉換爲datetime
對象與pd.to_datetime
再接入領域與datetime
與dt
,並將其寫入到新列:
date_col = pd.to_datetime(df[1])
date_col.dt.year
print(date_col.dt.year)
0 2012
1 2012
2 2012
Name: 1, dtype: int64
或者,如果你想要的任何與dt.strftime
,你可以將其轉換字符串,如:
print(date_col.dt.strftime("%Y/%m %H:%M"))
0 2012/01 01:59
1 2012/01 02:00
2 2012/01 02:00
Name: 1, dtype: object
您可以創建非常容易,因爲:
df['year'] = date_col.dt.year
print(df)
0 1 2 3 year
0 07220S006 14/01/12 01:59:50 10 0 2012
1 07220S006 14/01/12 02:00:00 10 0 2012
2 07220S006 14/01/12 02:00:10 10 0 2012
genfromtxt比numpy中的loadtxt更健壯 – mauve
感謝您的建議。我會花更多的時間來檢查這個功能,因爲我的第一次嘗試並沒有回到我想要的結果。 – will1009