gpt4 book ai didi

python - CSV 写入需要唯一分隔符的文本字符串

转载 作者:行者123 更新时间:2023-11-30 23:27:32 26 4
gpt4 key购买 nike

我用 python 编写了一个 HTML 解析器,用于提取数据,使其在 csv 文件中看起来像这样:

    itemA, itemB, itemC, Sentence that might contain commas, or colons: like this,\n

所以我使用了分隔符“:::::”,认为它不会在数据中被挖掘

    itemA, itemB, itemC, ::::: Sentence that might contain commas, or colons: like this,::::\n

这适用于数千行中的大部分,但是,显然是一个冒号:当我在 Calc 中导入 csv 时抵消了这一点。

我的问题是,在创建包含许多需要用某些分隔符分隔的句子变体的 csv 时,最好使用什么或唯一的分隔符?我是否正确理解分隔符,因为它们分隔了 CSV 中的值?

最佳答案

正如我在评论中非正式建议的那样,唯一意味着您需要使用一些不会出现在数据中的字符 - chr(255) 可能是一个不错的选择。例如:

注意:显示的代码适用于 Python 2.x — 请参阅 Python 3 版本的注释。

import csv

DELIMITER = chr(255)
data = ["itemA", "itemB", "itemC",
"Sentence that might contain commas, colons: or even \"quotes\"."]

with open('data.csv', 'wb') as outfile:
writer = csv.writer(outfile, delimiter=DELIMITER)
writer.writerow(data)

with open('data.csv', 'rb') as infile:
reader = csv.reader(infile, delimiter=DELIMITER)
for row in reader:
print row

输出:

['itemA', 'itemB', 'itemC', 'Sentence that might contain commas, colons: or even "quotes".']

如果您不使用 csv 模块,而是手动写入和/或读取数据,那么它会像这样:

with open('data.csv', 'wb') as outfile:
outfile.write(DELIMITER.join(data) + '\n')

with open('data.csv', 'rb') as infile:
row = infile.readline().rstrip().split(DELIMITER)
print row

关于python - CSV 写入需要唯一分隔符的文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com