我正在写入 csv,效果很好,除了某些行的名称中有逗号,当我写入 csv 时,这些逗号会导致字段消失...我如何写入 csv 并忽略 csv 中的逗号行
header = "Id, FACID, County, \n"
row = "{},{},{}\n".format(label2,facidcsv,County)
with open('example.csv', 'a') as wildcsv:
if z==0:
wildcsv.write(header)
wildcsv.write(row)
else:
wildcsv.write(row)
Run Code Online (Sandbox Code Playgroud)
从写入该行的每个字段中删除所有逗号,例如:
label2 = ''.join(label2.split(','))
facidcsv = ''.join(facidcsv.split(','))
County = ''.join(County.split(','))
row = "{},{},{}\n".format(label2,facidcsv,County)
Run Code Online (Sandbox Code Playgroud)
概括为格式化具有任意数量字段的行:
def format_row(*fields):
row = ''
for field in fields:
if row:
row = row + ', ' + ''.join(field.split(','))
else:
row = ''.join(field.split(','))
return row
label2 = 'label2, label2'
facidcsv = 'facidcsv'
county = 'county, county'
print(format_row(label2, facidcsv, county))
wildcsv.write(format_row(label2, facidcsv, county))
Run Code Online (Sandbox Code Playgroud)
输出
label2 label2, facidcsv, county county
Run Code Online (Sandbox Code Playgroud)
正如 @TomaszPlaskota 和 @quapka 在评论中提到的那样,Python 的csv writers默认readers写入/读取 csv 字段包含带有'"'. 大多数使用 csv 文件的应用程序都遵循相同的格式。因此,如果您想在输出字段中保留逗号,以下是首选方法:
import csv
label2 = 'label2, label2'
facidcsv = 'facidccv'
county = 'county, county'
with open('out.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow((label2, facidcsv, county))
Run Code Online (Sandbox Code Playgroud)
输出.csv
"label2, label2",facidccv,"county, county"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7101 次 |
| 最近记录: |