python - 将正则表达式传递给 python 的 csv 模块或 numpy 的 genfromtxt/loadtxt 中的定界符字段?

标签 python csv numpy

我用一些奇怪的分隔将数据制成表格(即用逗号分隔的值组,用制表符与其他值分隔):

A,345,567   56  67  test

是否有一种干净而巧妙的方法来处理以下任何一个中的多个分隔符:csv module , numpy.genfromtxt , 或 numpy.loadtxt

我找到了方法 such as this ,但我希望有更好的解决方案。理想情况下,我想使用 genfromtxt 和正则表达式作为分隔符。

最佳答案

恐怕您要求的三个包裹中的答案是。但是,您可以只执行 replace('\t', ',') (或相反)。例如:

from StringIO import StringIO # py3k: from io import StringIO
import csv
with open('./file') as fh:
    io = StringIO(fh.read().replace('\t', ','))

reader = csv.reader(io)

for row in reader:
    print(row)

关于python - 将正则表达式传递给 python 的 csv 模块或 numpy 的 genfromtxt/loadtxt 中的定界符字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012143/

相关文章:

python - python中树中的最长路径

c# - 使用 C# Windows 窗体应用程序将数据从 Excel (.CSV) 文件上传到 SQL

ruby-on-rails - 如何在 Rails 中的 CSV 解析期间更改编码

excel - 如何使用 Python 3 导入保存为 Unicode 文本的 CSV 扩展名的 Excel 文件?

python - 提高图像亮度不溢出

python - 使用增量运算符时,numpy 数组之和在数据类型方面的不同行为

Python ping本地IP

python - 为什么插入符号在正则表达式中与星号一起使用时不表现得贪婪

python - csv.错误 : did you open the file in text mode?

python - Pandas to_numpy() 生成列表数组。如何从中获取二维 numpy 数组?