我的目标是读取一个csv文件,然后打印10个项目,并且它们之间只有一个空格。以下是要执行的任务:
我面临的问题是,如果它是单个字符串,但末尾有空格,则应该删除它。
我在python中尝试了strip和rstrip,但似乎不起作用。
以下是它的代码:
with open(accidents_csv, mode='r', encoding="utf-8") as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
count = 0
for row in csv_reader:
if count <=10:
new_row = [beautify_columns(item) for item in row]
print(' '.join(new_row))
count +=1
def beautify_columns(col):
col.strip()
if(' ' in col):
col = f'"{col}"'
return col
请告诉我如何删除字符串末尾的空格
答案 0 :(得分:3)
您必须分配strip()的结果,即
col = col.strip()
仅需注意的另一件事是strip()
将在字符串的开头和结尾删除空格(即不只是空格字符)。
答案 1 :(得分:0)
部分不相关,但是csv.writer
可以满足您的其他要求,因为它会自动引用包含分隔符的字段:
with open(accidents_csv, mode='r', encoding="utf-8") as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
csv_writer = csv.writer(sys.stdout, delimiter=" ")
for count, row in enumerate(csv_reader):
new_row = [item.strip() for item in row]
csv_writer.writerow(new_row)
if count >= 9: break
如@barny所述,strip()
将删除所有空格字符,包括"\r"
或"\t"
。如果您只想删除空格字符,请使用strip(' ')
。