【问题标题】:How to escape quotes while adding string as a header for csv in Python?如何在 Python 中添加字符串作为 csv 的标头时转义引号?
【发布时间】:2017-07-01 18:57:54
【问题描述】:

我有一个来自另一个变量 str1 的字符串,它们已经有像 'a','b','c' 之类的值(逗号分隔)。 所以我希望这个字符串成为我正在编写的 csv 文件的标题。 当我使用 csv 阅读器的 writer.writerow 时,这很好用 但它在整个“'a','b','c'”周围加上一个“”。

但是,我希望 'a' 作为 col1 的标头,'b' 作为 col2 的标头,依此类推...

粘贴数据: 仅打印 str1 打印件:

'AV, AZ$$38060','BB, BZ$$31100','CO, CZ$$31120'.... till X.

但是当我在 writer.writerow 中使用它时, 它给了 -

'YEAR'," 'AV, AZ$$38060','BB, BZ$$31100','CO, CZ$$31120' ", 'Index'.

如何让 csv writer 明白我想要 str1 最后不带双引号?

代码:(到目前为止非常基本)

with open('478558_output_new.csv') as sample,
open('478558_output_final.csv','w') as output:
 reader = csv.reader(sample)
 writer = csv.writer(output)
 # discard input header
 next(reader)
 # write new output header
 writer.writerow(['YEAR',str1,'Index'])

【问题讨论】:

  • 那么,你有一个字符串中每一列的名称,你想分割字符串并删除 ' 字符?
  • 不,我实际上只想在使用 writer.writerow 时删除双引号。
  • 你试过我在asnwer里说的吗?

标签: python string csv


【解决方案1】:

您可以使用 split('CHARACTER') 方法将字符串拆分为列表:

yourSring = " 'a','b','c' "
yourList = yourString.split(',')

在您的代码中:

writer.writerow(['YEAR']+str1.split(',')+['Index'])  

【讨论】:

  • 这只是用逗号打印相同的字符串。
  • 这是我的输出.. YEAR,"[""'AV"", "" AZ$$$38060'"", ""'BB"", "" BZ$$$31100'"" ] .
  • 输出要求是 'YEAR', 'AV, AZ$$38060','BB, BZ$$31100','CO, CZ$$31120' , 'Index' (只去掉双引号括起来最后——这些“”
  • 我在上一个回答中看到了问题,请立即尝试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-30
  • 1970-01-01
  • 1970-01-01
  • 2019-08-23
  • 2020-04-21
  • 1970-01-01
  • 2016-03-08
相关资源
最近更新 更多