Jer*_*nes 3 string encoding python-3.x pandas
我得到了一个 latin-1 .txt 数据集,我正在尝试清理它以使用 python 3 和 Pandas 进行正确的分析。从 html 中抓取的数据集包含许多 \xa0 出现,我似乎无法使用解码、剥离、-u 替换或我在堆栈溢出时发现的任何其他方法来处理这些。我所有的尝试似乎都被 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)
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
这就是数据集的样子,以及为什么在我的代码中删除第一个逗号,前提是它位于列的开头。但是我尝试的所有建议答案似乎都没有帮助删除数据集的 \xa0 部分,仍然给出相同的结果(见上文)。如果有人对我如何完成这项工作有任何线索,我将不胜感激,干杯,杰里科
编辑:虽然我知道最好在将其转换为 txt 文件之前通过预处理来解决这个问题,但我无法访问或控制该过程,我必须使用我获得的数据。
I suddenly stuck by this problem today and finally find a quickest and neatest solution. Say your pandas dataframe has a column with values like 'South\xa0Carolina'.
Use the following code to remove all '\xa0'. Actually I have tried .replace("\xa0"," ") and .replace(r'\xa0',r' '), but none of them worked.
data['col'].str.split().str.join(' ')
Run Code Online (Sandbox Code Playgroud)
读取文件后执行此操作。
df['col'] = df['col'].apply(lambda x: str(x).replace(u'\xa0', u''))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4073 次 |
最近记录: |