python - 在 _ 每个单元格 python 字符之后删除 csv 中的数据
问题描述
我有一个 csv 文件,里面有一些信息。对于我的用例,我只需要每个单元格中的前四个字符。
因此,使用 python,我需要一个解决方案,理想情况下,我可以在四个字符之后删除每个单元格中的所有字符,并且可以选择删除所有空格。如果我能指出正确的方向,那就太好了!
一 | 二 | 三 |
---|---|---|
一一一 | 二二二 | 三三三 |
我的理想输出应该看起来像
一 | 二 | 三 |
---|---|---|
一个O | 双T | 三 |
解决方案
似乎您的数据包含一些不是字符串类型的数值。这种情况下,可以先将数据转换成字符串,然后去掉所有空格,最后取每个转换后的字符串的前4个字符,如下:
df = pd.read_csv("mycsv.csv") # read csv if not already read
df = df.apply(lambda x: x.astype(str).str.replace(' ', '').str[0:4])
df.to_csv("mycsv.csv") # save to csv
如果不需要删除空格,可以使用:
df = pd.read_csv("mycsv.csv") # read csv if not already read
df = df.apply(lambda x: x.astype(str).str[0:4])
df.to_csv("mycsv.csv") # save to csv
结果:
print(df)
one two three
0 OneO TwoT Thre
编辑
如果您只想申请指定列,您可以使用:
例如,仅适用于列one
和two
:
df = pd.read_csv("mycsv.csv") # read csv if not already read
df[['one', 'two']] = df[['one', 'two']].apply(lambda x: x.astype(str).str.replace(' ', '').str[0:4])
df.to_csv("mycsv.csv") # save to csv
推荐阅读
- python - gensim 是如何快速找到最相似的单词的?
- c++ - 这段代码是在创建一个类对象吗?如果是这样,为什么要以这种方式使用它
- python - 如何获得按其他列分组的几列的总和?
- php - 未找到列:1054 未知列“字段列表”中的“taggables.tags_model_id”laravel 雄辩
- python - Tweepy 没有返回完整的推文:tweet_mode = 'extended' 不起作用
- python - 如何将一列连接到熊猫中不是无的现有列表列?
- firebase - 尝试在 shell 上运行 Firebase pubsub 计划的云功能时出现 ECONNREFUSED 错误
- mongodb - 是否可以使用 MongoTemplate 为特定查询动态设置读取首选项?
- excel - VBA - 如何获取第二个到最后一个的工作表名称
- html - Bootstrap 导航栏在调整为移动设备大小时堆叠并隐藏内容