使用Python分割字符串时遇到困难
我正在拼命尝试用Python来分割一个字符串,但我需要处理的文本文件有点棘手:
- 这个文本文件是用逗号分隔的数据文件
我做了以下操作:
import fileinput
for line in fileinput.input("sample.txt"):
data = line.strip().split(',')
pass
这样做应该可以吧?
好吧,现在棘手的部分来了:我有一些字段里面包含了逗号,比如下面这个:
"(CONTRACTS OF 5,000 BUSHELS)"
用我的代码,脚本也把这个字段分成了两个。
我该怎么告诉Python在分割时使用逗号,但当逗号被双引号包围时就不分割呢?
提前感谢你的回答
Crak
3 个回答
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
5
处理CSV文件时,应该使用csv
这个工具。
10
你的数据采用了一种很常见的格式——逗号分隔值(CSV)。与其再写一个解析器,不如考虑使用内置的csv
模块。