這個錯誤正在殺死我,我希望你們中的一些人能夠提供幫助。以10爲基數的int()無效的字面值:'2016-04-22'
要開始我正在處理客戶的亞馬遜訂單報告。
我拉出了由通常的YYYY-MM-DD H:M:S加上時區代碼組成的訂單日期。該日期時間正在進入一個名單,我遍歷列表,像這樣:
temps = list()
for date_time in date_times:
temps.append(str(date_time).split('T'))
然後我迭代通過拆分日期次,每次追加到一個單獨的列表。
dates = list()
times = list()
for temp in temps:
dates.append(temp[0])
times.append(temp[1])
在我的代碼,我不斷收到此錯誤:
invalid literal for int() with base 10: '2016-04-22'
我知道這個嘗試將字符串或空字符串轉換然而,一個int
發生時,我做的是追加該死的東西列表。奇怪的是,這個腳本已經運行了一個多月沒有問題,所以我現在很茫然,爲什麼它突然開始這樣做。
該腳本位於pythonanywhere,並被設置爲自動運行,並在virtualenv中安裝必要的軟件包,所以關於該設置的所有其他內容都是靜態的。任何幫助表示讚賞。
編輯:這是mvce。道歉最初不提供。 你可以得到files I'm using from this link.他們的表現如他們的名字所示。 good.txt
解析正常並且bad.txt
拋出錯誤。使用scratchpad.py
解析文本文件。這兩個文本文件的內容通常直接從Amazon服務器讀入內存,並從那裏進行處理。上述鏈接中的文件直接從亞馬遜下載,我所做的只是從中刪除非必要的信息。
這裏是堆棧回溯:
Traceback (most recent call last):
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 2885, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-18-4d933b0787fe>", line 1, in <module>
f = parse_report('/home/jason/Desktop/bad.txt')
File "<ipython-input-17-420ad5606095>", line 57, in parse_report
report.loc[:, 'purchase-date'] = dates
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/indexing.py", line 115, in __setitem__
self._setitem_with_indexer(indexer, value)
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/indexing.py", line 473, in _setitem_with_indexer
setter(labels[0], value)
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/indexing.py", line 416, in setter
s._data = s._data.setitem(indexer=pi, value=v)
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/internals.py", line 2734, in setitem
return self.apply('setitem', **kwargs)
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/internals.py", line 2710, in apply
applied = getattr(b, f)(**kwargs)
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/internals.py", line 585, in setitem
values, value = self._try_coerce_args(self.values, value)
File "/home/jason/.virtualenvs/sw/lib/python3.4/site-packages/pandas/core/internals.py", line 1929, in _try_coerce_args
other = np.array(other, dtype='i8')
ValueError: invalid literal for int() with base 10: '2016-04-22'
編輯#2: pandas = '0.17.0'
請給出一個[mcve]和完整的追溯。 – jonrsharpe
看起來你所發佈的代碼可能會導致錯誤 - 你可以發佈完整的回溯和多一點你的代碼來製作一個[mcve](http://stackoverflow.com/help/mcve) –
當然,我會盡量把東西放在一起。問題是報告包含客戶信息,我明顯不會在這裏共享,並且總代碼超過1000行,並與亞馬遜服務器 –