这个错误正在杀死我,我希望你们中的一些人能够提供帮助。以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行,并与亚马逊服务器 –