无法用Python拆分String

时间:2011-06-01 12:24:49

标签: python parsing split text-processing

我绝望地尝试使用Python拆分字符串,但我需要解析的文本文件有点棘手:

  • 文本文件是逗号分隔的数据文件

我做了以下事情:

import fileinput
for line in fileinput.input("sample.txt"):
data = line.strip().split(',')
pass

这实际上应该让工作正确吗?

好了,现在是棘手的部分:我有一些包含逗号的字段,如下所示:

"(CONTRACTS OF 5,000 BUSHELS)"

使用我的代码,脚本也将此字段拆分为2.

如何让python使用逗号作为分隔符,但是当它们被“”括起来时不能?

提前感谢您的回答

Crak

3 个答案:

答案 0 :(得分:10)

您的数据采用非常常见的格式 - 逗号分隔值(CSV)。考虑使用内置的csv模块,而不是编写另一个解析器。

答案 1 :(得分:5)

应使用csv处理CSV文件。

答案 2 :(得分:4)

您可以使用csv模块

import csv

with open('sample.txt', 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        # each row is a list of items,
        # corresponding to each row in your file,
        # including commas for quoted items