我想使用Python在列表中打开文本文件。
我的text.txt
文件的结构如下:
“句子1”,“句子2”,...,“句子n”。
每个句子都带有标点符号,并以逗号分隔。我想将其打印在保持相同结构的列表中。
我希望输出显示为:
["Sentence 1.", "Sentence 2.",..., "Sentence n."]
但是到目前为止,我得到的输出格式如下所述
['"Sentence 1.", "Sentence 2.",..., "Sentence n."']
如何排除多余的单个倒置标点符号?任何帮助表示赞赏。
这是我的代码:
def read_data():
global new_list
with open("text.txt", 'r', encoding = 'utf-8') as f:
raw_data = f.read()
new_list = [raw_data.strip()]
print(new_list)
read_data()
答案 0 :(得分:3)
您的text.txt
文件基本上是一个csv文件。使用csv
模块,我们可以执行以下操作:
import csv
with open("text.txt", 'r', encoding = 'utf-8') as f:
reader = csv.reader(f, skipinitialspace=True)
new_list = next(reader)
答案 1 :(得分:0)
def read_data():
with open("text.txt", 'r', encoding = 'utf-8') as f:
raw_data = f.read()
new_list = [i.replace('"', '').strip() for i in raw_data.split(',')]
print(new_list)
read_data()
答案 2 :(得分:0)
为什么不使用拆分功能?
#!/usr/bin/env python3
# coding: utf-8
def read_data():
global new_list
with open("text.txt", 'r', encoding = 'utf-8') as f:
raw_data = f.read()
new_list = raw_data.split(",")
print(new_list)
read_data()
这将打印出来:
["Sentence 1.", "Sentence 2.",..., "Sentence n."]
答案 3 :(得分:0)
如果我对您的理解正确,那么您实际上需要一份清单。但是,在代码中,您只有一个元素(一个字符串)的列表,因此,您会看到一个额外的标点符号... 我认为您需要以下条件:
def read_data():
global new_list
with open("text.txt", 'r', encoding = 'utf-8') as f:
raw_data = f.read()
new_list = raw_data.strip().replace('"','').split(',')
print(new_list)
read_data()
答案 4 :(得分:0)