【发布时间】:2019-08-21 21:18:36
【问题描述】:
我得到了一个 latin-1 .txt 数据集,我正在尝试对其进行清理,以便使用 python 3 和 pandas 进行适当的分析。从 html 中抓取的数据集包含许多 \xa0 事件,我似乎无法使用 decode、strip、-u replace 或我在堆栈溢出时发现的任何其他方法来处理这些事件。我的所有尝试似乎都被 python 忽略了,仍然打印出相同的结果。由于我是数据抓取的新手,我很可能错过了一些明显的事情,但现在我看不到前进的方向
我尝试解码为 ascii,剥离为 str 然后替换,或使用 -u 子句替换,没有任何结果
filepath = 'meow3.txt'
outF = open("myOutFile.txt", "a")
with open(filepath) as fp:
line = fp.readline()
for line in fp:
if line.strip().startswith(','):
line = line.replace(',','',1)
line = line.replace(u'\xa0', u' ')
print(line)
df = pd.read_csv('myOutFile.txt', sep=",", encoding="latin-1", header=None, names=["Company name", "Total", "Invested since-to"])
print (df)
3sun Group, £10m ,Feb 2014
,Abacus, £4.15m ,Aug 2013
,Accsys Group ,£12m, Mar 2017,
Acro ,\xa0£7.8m, Nov 2015 – Sep 2017,
ACS Clothing, £25.3m ,Jan 2014
这就是数据集的样子,以及为什么在我的代码中我要删除第一个逗号,前提是它位于列的开头。但我尝试的建议答案似乎都没有帮助删除数据集的 \xa0 部分,仍然给出相同的结果(见上文)。如果有人对我如何完成这项工作有任何线索,我将不胜感激, 干杯, 耶利哥
编辑:虽然我知道最好在将其转换为 txt 文件之前通过预处理来解决此问题,但我无法访问或控制该过程,并且我必须处理提供给我的数据。
【问题讨论】:
-
请添加示例数据。 5 行就够了。
-
a) 我添加了示例数据 b) 我明确指出该问题中的方法不起作用
标签: python-3.x string pandas encoding