python - 如何在 Python 中正确添加文本分隔符
问题描述
我想将一些数据从 DB 导出到 CSV 文件。我需要添加一个'|' 特定字段的分隔符。在我导出文件的那一刻,我使用类似的东西: - 在特定字段(在末尾和开头)我添加'|':
....
if response.value_display.startswith('|'):
sheets[response.sheet.session][response.input.id] = response.value_display
else:
sheets[response.sheet.session][response.input.id] = '|'+response.value_display+'|'
....
- 我有这样的 CSV 写入器功能设置:
self.writer = csv.writer(self.queue, dialect=dialect,
lineterminator='\n',
quotechar='',
quoting=csv.QUOTE_NONE,
escapechar=' ',
** kwargs)
现在它可以工作了,但是当我有 DateTime 字段(空间在哪里)时,作者会添加一些额外的空间。
当我在末尾有默认设置(有时)并开始 CSV 编写器时添加双引号,但我不知道为什么以及它取决于什么。
解决方案
要删除你的额外空间,我会做类似的事情。
file = open(the_file.csv, w+) #open your csv file
file.write(file.readline().replace(" ", " ") #finds any two spaces and replaces with one
file.close()
使用分隔符,它是特定于情况的。如果要在开头或结尾添加它。
delimiter = "|"
my_str = my_str + delimiter
或者
delimiter = "|"
my_str = delimiter + my_str
如果您想在其他地方添加分隔符,您可能需要发挥创意,因为它将基于上下文。
我不确定双引号。我会像空格一样替换。
file = open(the_file.csv, w+) #open your csv file
file.write(file.readline().replace("\"", "'")
file.close()
假设您想用单引号替换双引号。
推荐阅读
- sql - SQL COUNT 项目和 GROUP 超过多个类别,缺少条目的总数为 0
- javascript - 没有分配功能的 Web Sockets 对象
- c# - .NET 中的 Google Analytics API UserActivity
- python - 我的 python 乌龟位于正确的坐标上,我的 if 语句返回为真,但我的 if 语句没有返回为真
- flutter - SingleChildScrollView 内的 Flutter ListView.Builder 不可滚动
- javascript - Angular 10 + primeng 4 Radiobutton投掷找不到未定义错误的nativeElement
- shell - '{读取txt文件并过滤日期<日期,>日期和日期之间的记录}'
- javascript - 为什么 '0' 和 'undefined' 在这个 Javascript 代码中不被认为是错误的?
- java - Apache Commons 配置
- c# - 是否有可能在最小化的应用程序中运行 UWP WebView,包括声音输出?