我已經(jīng)搜索過(guò),我發(fā)現(xiàn)的問(wèn)題似乎并不涵蓋我的情況。我使用來(lái)自https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior的指令遵循了來(lái)自https://gist.github.com/gjreda/7433f5f70299610d9b6b的代碼并寫入Jupyter Python 筆記本:import numpy as npimport pandas as pdfrom datetime import datetimeto_datetime = lambda d: datetime.strptime(d, '%YYYY%mm%dd-%HH%MM%SS')pd1 = pd.read_csv(r'c:\am\shared-2\topandas.txt',sep=':',header=None, names = ['a','b','c','d'], parse_dates=[1], converters={'a': to_datetime}, index_col = 'a')#pd2 = pd1.to_datetime (pd1.)pd1我有錯(cuò)誤ValueError:時(shí)間數(shù)據(jù)“20160101-000000”與格式“%YYYY%mm%dd-%HH%MM%SS”不匹配我正在研究表達(dá),看不出我在哪里犯了錯(cuò)誤。完整錯(cuò)誤如下:ValueError Traceback (last last call last) in 1 from datetime import datetime 2 to_datetime = lambda d: datetime.strptime(d, '%YYYY%mm%dd-%HH%MM%SS') ----> 3 pd1 = pd.read_csv(r'c:\am\shared-2\topandas.txt',sep=':',header=None, names = ['a','b','c','d'], parse_dates=[1], converters={'a': to_datetime}) 4 #pd2 = pd1.to_datetime (pd1.) 5 pd1C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer,sep,delimiter,header,names,index_col,usecols,squeeze,prefix,mangle_dupe_cols,dtype,engine,converters,true_values ,false_values,skipinitialspace,skirows,skipfooter,nrows,na_values,keep_default_na,na_filter,詳細(xì),skip_blank_lines,parse_dates,infer_datetime_format,keep_date_col,date_parser,dayfirst,迭代器,塊大小,壓縮,千位,十進(jìn)制,lineterminator,quotechar,引用,雙引號(hào),escapechar , 注釋, 編碼, 方言, tupleize_cols, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision) 700 skip_blank_lines=skip_blank_lines) 701 --> 702 return _read(filepath_or_buffer,kwds) 703 704 parser_f。名字=名字C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds) 433 434 try: --> 435 data = parser.read(nrows) 436 最后:437 parser.close ()
2 回答

www說(shuō)
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
你的錯(cuò)誤是%Y
匹配一個(gè) 4 位數(shù)的年份 - 所以通過(guò)給%YYYY
你實(shí)際上匹配“ 4 位數(shù)的年份,后跟三個(gè) Y ”。這也適用于其他人。
請(qǐng)改用以下格式字符串:%Y%m%d-%H%M%S

三國(guó)紛爭(zhēng)
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
這里有必要將格式更改為只使用一個(gè)字母,還要檢查http://strftime.org/
:
to_datetime = lambda d: datetime.strptime(d, '%Y%m%d-%H%M%S')
另一個(gè)類似的解決方案:
to_datetime = lambda d: pd.to_datetime(d, format='%Y%m%d-%H%M%S')
添加回答
舉報(bào)
0/150
提交
取消