python 读取 csv 文件时循环内的 rstrip 使用
python rstrip usage within loop while reading csv file
我有一个 CSV 文件,我在其中循环并匹配我的数据库以根据这些匹配项获取结果。
遇到文末有space的问题。所以我做了研究,发现我需要添加rstrip
函数来删除文本末尾的space。
这是我的代码:
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 文件末尾为空 space:
Sistem en az 23.8 inç boyutlarında olmalıdır.
1 adet HDMI port olmalıdır.
您可以尝试以下方法:
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
参数可能就足够了。这虽然不会删除下一个定界符之前的尾随空格。当与 csv.reader()
.
一起使用时,newline=''
也应用于 Python 3.x
您提供的文件仅包含几行文本,因此您可以按如下方式阅读它:
lines = []
with open('input.csv', encoding='utf-8') as f_input:
for line in f_input:
lines.append(line.strip())
print(lines)
这会给你 lines
包含:
['Sistem en az 23.8 inç boyutlarında olmalıdır.', '1 adet HDMI port olmalıdır.']
我有一个 CSV 文件,我在其中循环并匹配我的数据库以根据这些匹配项获取结果。
遇到文末有space的问题。所以我做了研究,发现我需要添加rstrip
函数来删除文本末尾的space。
这是我的代码:
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 文件末尾为空 space:
Sistem en az 23.8 inç boyutlarında olmalıdır.
1 adet HDMI port olmalıdır.
您可以尝试以下方法:
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
参数可能就足够了。这虽然不会删除下一个定界符之前的尾随空格。当与 csv.reader()
.
newline=''
也应用于 Python 3.x
您提供的文件仅包含几行文本,因此您可以按如下方式阅读它:
lines = []
with open('input.csv', encoding='utf-8') as f_input:
for line in f_input:
lines.append(line.strip())
print(lines)
这会给你 lines
包含:
['Sistem en az 23.8 inç boyutlarında olmalıdır.', '1 adet HDMI port olmalıdır.']