【发布时间】:2018-10-02 03:12:45
【问题描述】:
我有一个文本文件sample.txt,其中包含以下数据:
Name of Person: John
Age: 24 years
Height: 170 cm
Weight: 64 kg
我的代码是:
list_for_dictionary = []
filename='sample.txt'
f = open(filename)
for line_number, line in enumerate(f, 1):
key="data_values"
dictionary = {key: {"fileLine": line, "lineNumber": int(line_number), "fileName": filename}}
list_for_dictionary.append(dictionary)
print(list_for_dictionary)
我得到的输出是:
[{'data_values': {'fileLine': 'Name of Person: John\n', 'lineNumber': 1, 'fileName': 'sample.txt'}}, {'data_values': {'fileLine': 'Age: 24 years\n', 'lineNumber': 2, 'fileName': 'sample.txt'}}, {'data_values': {'fileLine': 'Height: 170 cm\n', 'lineNumber': 3, 'fileName': 'sample.txt'}}, {'data_values': {'fileLine': 'Weight: 24kgs', 'lineNumber': 4, 'fileName': 'sample.txt'}}]
我的问题是为什么'\n' 会被添加到fileLine 的每一行末尾,我该如何摆脱它?'
【问题讨论】:
-
使用 line.strip(),\n 是换行。您的文件记录包含行值。这就是为什么你会得到一个\n。
-
他们来自
for line in f,或者来自f.readlines(),这样;它不会在其他任何地方“被添加”,而是始终使用基于迭代器的接口在 Python 中读取文本文件的一部分。
标签: python python-3.x dictionary text data-extraction