python - 在 Python 中删除 CSV 单元格的一部分
问题描述
我最近偶然发现了一项使用一些 CSV 文件的任务,这些文件至少可以说是组织得很差,一个单元格包含应该是多个单独的列。我想在 Python 脚本中使用这些数据,但想知道是否可以删除行的一部分(在某个点之后全部删除),然后将其写入字典。
虽然我无法显示 CSV 的确切内容,但它看起来像这样:
useful. useless useless useless useless
我知道这很可能需要正则表达式或endswith
语句,但是对 CSV 文件执行所有这些操作超出了我的范围。此外, CSV 上有用后写的句号也应删除,这不是错字。
解决方案
如果您知道要拆分的字符,则可以使用以下简单方法:
good_data = bad_data.split(".")[0]
good_data = good_data.strip() # remove excess whitespace at start and end
此方法将始终有效。split
将返回一个总是至少有 1 个条目(完整字符串)的元组。使用index
可能会引发异常。
您还可以在必要时使用split(".", N)
.
https://docs.python.org/2/library/stdtypes.html#str.split
>>> "good.bad.ugly".split(".", 1)
['good', 'bad.ugly']
>>> "nothing bad".split(".")
['nothing bad']
>>> stuff = "useful useless"
>>> stuff = stuff[:stuff.index(".")]
ValueError: substring not found
推荐阅读
- python - GAE 灵活和 Stackriver 使用 python 记录严重性级别
- puppeteer - puppeteer 中的 Page.evaluate 与 Page.waitForFunction
- python - 如何使用python将csv文件中的所有点十进制标记转换为逗号?
- javascript - Mapbox GL js - 在给定坐标周围径向添加多个标记
- typescript - 打字稿:重载函数的返回类型
- symfony - 使用 EasyAdminBundle 查询 DQL 过滤器
- json - 带有 JSON 数据的搜索栏 ionic 3
- c++ - 在单独的函数中修改指向字符串文字的指针
- web-services - 批准访问令牌请求 - Apex 中的 Oauth2 - ORDS
- c++ - 在 C++ 中没有嵌套循环的 2 组合,其中迭代次数等于 2 组合的数量