Python-从 .txt 文件中清理数据?

Posted

技术标签:

【中文标题】Python-从 .txt 文件中清理数据?【英文标题】:Python- Cleaning the data from .txt file? 【发布时间】:2020-09-29 23:10:40 【问题描述】:

import pandas as pd
import os
import numpy as np
import re


#LOAD THE DATA
df = pd.read_fwf('receipt.txt')

data= df.replace("£", "")

print(data)

我已尝试清理此数据并删除“£,:,-”,请问如何最好地从我的数据中删除这些符号?请看附图。

import pandas as pd
import os
import numpy as np


#LOAD THE DATA
df = pd.read_fwf('receipt.txt')
df.head()

Screenshot of txt file

【问题讨论】:

如果您发布实际文件而不是屏幕截图会更好。请记住,如果您让人们更难帮助您,您获得帮助的可能性就会降低。 这能回答你的问题吗? How to replace a characters in a column of a Pandas dataframe? 感谢您的提示!我尝试附加 .txt 文件,虽然似乎没有文件上传的地方,但我提到了您发送和收到的链接错误 - 'DataFrame' 对象没有属性 'str' 【参考方案1】:

您可以使用字符串替换并将不需要的字符串替换为空字符串“”,实质上是删除它们。

例子:

str.replace("unwanted", "")

如果您不必在每次运行代码时都执行此操作,请考虑使用简单的 shell“tr -d 'idontwantthis'”在脚本之外进行数据清理 (假设 Linux/OSX)

【讨论】:

谢谢,我收到了错误 - 替换预期的至少 2 个参数,得到 1 个 我应该提到“str”是你的字符串变量。如果您遇到更多错误,请粘贴您的代码 这是 txt 文件中的数据:£ 2800.02020-06-08 19:48:28.975953£ 500.02020-06-08 19:48:47.833899£ 800.02020-06-08 19:49:45.017243 我仍然得到 - '空数据框' @Rimi 你在做这个操作做数据框吗?因为您必须对字符串变量执行此操作。将文件加载为文本并应用修复,将其保存在某处,然后再次将新文件加载为 Dataframe【参考方案2】:

你可以这样做:

readfilestr.replace("[the text to remove goes here]", "")

【讨论】:

谢谢,我得到以下信息 - 空 DataFrame 列:[£, 2800.02020-06-08, 19:48:28.975953£, 500.02020-06-08, 19:48:47.833899£, 800.02020 -06-08, 19:49:45.017243] 索引:[] 如果你想从列表中的每个项目中删除这些符号,那么你可以做一个 for 循环: for i in len(mylist): if mylist[i].__contains__("[unwanted ]"): mylist[i] = str(mylist[i]).replace(['unwanted']) (如果你是多维的,你也可以添加一个 for 循环)【参考方案3】:

您可以查看正则表达式 (RegEx) 模块。

import re

string = "test with £,:,-"

new_string= re.sub('[£:-]', "", string)

print(new_string) # test with ,,

有一些很好的例子here,

【讨论】:

你可以读取每一行并清理字段...我只是展示了一个正则表达式的例子。

以上是关于Python-从 .txt 文件中清理数据?的主要内容,如果未能解决你的问题,请参考以下文章

清理推文,啥都不显示

使用大型(1.7gig)csv 文件在 python 中清理数据

使用Python脚本进行es数据清理

如何清理sql server 2008日志

从以前的执行中清除 txt 文件的内容

utp接口测试