在 .csv
文件中,除了逗号 (,
) 之外,什么是最好的单个字符或字符串用于作为列和行(类似表格)的常规处理方式?我的值包含数量和模式不可预测的逗号。
需要与 Python(最好还包括其他应用程序)兼容。我的值经常包含逗号 .
,因此我一直在使用 ","
或者 "value"
模式。目前我正在使用:
"column1","column2","column3"
然而,在这些情况下,使"
正确工作通常是很麻烦的。
例如,使用","
重新排序csv列:
import csv
infilename = input('Enter .csv to rearrange: ')
with open(infilename, 'r') as infile, open('reordered__'+ infilename, 'a') as outfile:
fieldnamesout = ['B', 'C', 'A', 'D']
fieldnamesin = ['A', 'B', 'C', 'D']
reader = csv.DictReader(infile, delimiter=',', quotechar='"', fieldnames=fieldnamesin)
writer = csv.DictWriter(outfile, delimiter=',', quotechar='"', fieldnames=fieldnamesout, quoting=csv.QUOTE_ALL)
for row in reader:
writer.writerow(row)
垂直线|
,或者星号*
似乎是一个不错的单字符选择,因为它们在目录和文件名中不允许使用,并且在“常规”文本中相对较少。
Q:有什么建议用于存储为文本的大型复杂数据库,其中值包含逗号和其他不寻常的字符?使用垂直线(|
)代替逗号(,
)有什么缺点吗?
","
分隔符的解决方法,但它们需要额外的编码步骤,并且在不同的程序中处理方式可能不同。使用|
有什么缺点吗? - HakariDo