【发布时间】:2017-08-18 09:24:01
【问题描述】:
我有一个格式如下的 csv 文件:
0;2017-02-16 15:08:16;81,307877;;;;;;;
因此,分号作为分隔符、日期和时间以及带有小数点逗号的浮点数。最后是一堆分号。
Pandas csv_read 应该是一个很好的解决方案。然而,经过多次尝试,我觉得很卡。我不明白如何处理文件末尾的 ;;; ,我也不确定我是否理解 csv_read 在更详细的控制可能性方面是如何工作的。
对于经常使用 csv_read 的人来说,这一定是一个非常简单的问题……我希望如此。我已经花了很长时间了...
一个例子:
pd.read_csv(r'C:\Users\Henrik\PycharmProjects\Regforce\Kort_del_1.csv',
encoding="latin", sep=';', decimal=',', usecols=[0, 1, 2, 3])
作为回报,我得到:
ÿþ0 Unnamed: 1 Unnamed: 2 Unnamed: 3
0 NaN NaN NaN NaN
1 NaN NaN NaN NaN
我还尝试为每一列“强制”类型,但没有结果...???
更新: 我发现了一篇有趣的帖子,http://pythonforengineers.com/website-visitors-part-2-dealing-with-corrupt-data/... 所以我下载了 HEX-reader 并在我的输入文件的开头发现了一些奇怪的东西。这似乎是上表中“ÿþ0”背后的原因。如果我在笔记本中打开它看不到它,但它肯定在文件中。
这可能是文件中 NaN 的来源吗?我该如何处理?似乎 read_csv 能够识别列的存在,但我无法获得任何值...?
【问题讨论】: