我有一个CSV文件,我循环并与我的数据库匹配,以便根据这些匹配获得结果。
在文本末尾有空格的情况下遇到了问题。所以我做了我的研究,发现我需要添加rstrip
函数来删除文本末尾的空格。
这是我的代码:
with open(path, encoding='utf-8') as f:
data = csv.reader(f, delimiter='|')
for row in data:
line = row[0]
cleanline = line.rstrip()
lines.append(cleanline)
query = line
代码无效。我也尝试了/s
或strip
之类的字符串,并且还替换了函数,但没有任何工作。可能是什么原因?我做错了什么?
CSV文件末尾有空格:
Sistem en az 23.8 inç boyutlarında olmalıdır.
1 adet HDMI port olmalıdır.
答案 0 :(得分:1)
您可以尝试以下方法:
import csv
path = 'input.csv'
lines = []
with open(path, newline='', encoding='utf-8') as f:
data = csv.reader(f, delimiter='|', skipinitialspace=True)
for row in data:
lines.append([c.strip() for c in row])
print(lines)
这将使用strip()
命令从一行中的每个单元格中删除所有前导和尾随空格。根据您的数据,可能只需添加额外的skipinitialspace=True
参数即可。这虽然不会在下一个分隔符之前删除尾随空格。与newline=''
一起使用时,{3.}}也应在Python 3.x中使用。
您提供的文件只包含文本行,因此您可以按如下方式阅读:
csv.reader()
这会给你lines = []
with open('input.csv', encoding='utf-8') as f_input:
for line in f_input:
lines.append(line.strip())
print(lines)
包含:
lines