0

我正在尝试读取一个以制表符分隔的文件,但字段可能包含换行符,我想维护具有换行符的字段。我当前的实现从每个“\n”创建新字段。

我已经尝试了 csv 模块,只是在 "\t" 上拆分,但我正在寻找的内容没有成功。以下是给定文件的示例行:

*Field_1 \t Field_2 \t Field_3 \n 附加文本 \n 更多文本 \t Field_4*

我想从上面的数据中生成一个包含 4 个元素的列表。

*["Field_1", "Field_2", "Field3 \n Additional Text \n More text", "Field_4"]*

任何想法或建议都会有所帮助。

4

2 回答 2

3

您是否尝试过像这样在标签上拆分?

data = 'Field_1 \t Field_2 \t Field_3 \n Additional Text \n More text \t Field_4'
print data.split('\t')
于 2013-04-18T01:59:43.727 回答
1

替换fileName为您正在读取的文件的路径:

inFile = open(fileName, "r")
rawData = inFile.read() # Entire file's contents as one multiline string (if there's a line break)
data = rawData.split("\t")
inFile.close()

还有使用withFile I/O 语句的选项(通常推荐):

with open(fileName, "r") as inFile:
    rawData = inFile.read() # Entire file's contents as one multiline string (if there's a line break)
    data = rawData.split("\t")
# you can omit the inFile.close() statement.

使用该with语句,如果在运行时出现错误,打开的文件流将自动关闭,但对于学习 File I/O 的人来说,它是如何工作的就不太清楚了。

于 2013-04-18T02:26:12.907 回答