使用Python分割字符串时遇到困难

3 投票
3 回答
1010 浏览
提问于 2025-04-16 18:46

我正在拼命尝试用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模块。

撰写回答