从csv中删除包含特定列中非数字内容的行

2024-09-29 18:52:21 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我的测试数据(csv格式):

"id","user_id","value"
"1","1001","111"
"2","1002","222"
"3","h82kn9;2&3","333"
"4","jsidofj882","444"

目标是消除所有字符串为user_id的行。我想知道如何测试每一行对应于某一列的内容是否是字符串。它可以是任何字符串。在

我已经在编写代码方面迈出了一小步,但我不得不承认,我不知道如何继续if部分。在

^{pr2}$

如有任何提示,将不胜感激。在


Tags: csv字符串代码id内容目标ifvalue
2条回答

此解决方案使用Pandas库pandas library。我将按以下步骤进行

import pandas as pd
df = pd.read(your_file)

从您提供的字符串中:

导入StringIO df=pd.read_csv文件(StringIO.StringIO(您的\u csf_文件\u作为\u a_字符串)

数据框包含所有数据:

^{pr2}$

现在是筛选,我们选择感兴趣的列(user_id)并通过选择只包含数字的字符串进行筛选:

filtered_df = df[df['user_id'].apply(lambda x: str(x).isdigit())]

过滤后的_-df只包含预期的前2行:

   id user_id  value
0   1    1001    111
1   2    1002    222

可以使用^{}测试字符串是否只包含数字:

if line[1].isdigit():
    # all digits

演示:

^{pr2}$

相关问题 更多 >

    热门问题