当前位置: 首页 > 面试题库 >

csv.writer在单独的列/单元格中写入单词的每个字符

窦成荫
2023-03-14
问题内容

目标:从所有行内的定位标记中提取文本models并将其放入csv中。

我正在尝试以下代码:

with open('Sprint_data.csv', 'ab') as csvfile:
  spamwriter = csv.writer(csvfile)
  models = soup.find_all('li' , {"class" : "phoneListing"})

  for model in models:

      model_name = unicode(u' '.join(model.a.stripped_strings)).encode('utf8').strip()
      spamwriter.writerow(unicode(u' '.join(model.a.stripped_strings)).encode('utf8').strip())

它工作正常,但csv中的每个单元格仅包含一个字符。

像这样:

|  S  |  A  |   M  |   S  |   U   |  N  |   G   |

代替:

|SAMSUNG|

我当然想念什么。但是呢


问题答案:

writerow接受一个序列。您只给它一个字符串,因此将其视为一个序列,字符串的作用类似于字符序列。

您还要在此行中还有什么?没有?如果是这样,请使其成为一项的列表:

spamwriter.writerow([u' '.join(model.a.stripped_strings).encode('utf8').strip()])

(顺便说一句,unicode()由于您已经加入了Unicode分隔符,因此完全不需要调用。)



 类似资料:
  • 将字符串中每个单词的首字母大写。 使用 ``String.replace()来匹配每个单词的第一个字符,并使用String.toUpperCase()` 来将其大写。 const capitalizeEveryWord = str => str.replace(/\b[a-z]/g, char => char.toUpperCase()); capitalizeEveryWord('hello

  • 问题内容: 好的,我试图弄清楚如何在python中制作这样的输入短语。 输出这个… 这将是每个单词的首字母。这和索引有关吗?也许是.upper函数? 问题答案: 这是完成它的最快方法

  • 问题内容: 我有一个现有的表’people_table’,其中包含一个field 。 许多记录的“ full_name”字段填充了不正确的大小写。如或或。 我可以通过以下方式找到这些错误的条目: 如何找到的每个单词的首字母大写?例如成为。 问题答案: 没有MySQL函数可以执行此操作,您必须编写自己的函数。在以下链接中,有一个实现: http://joezack.com/index.php/200

  • 问题内容: 我有一个字符串:“ hello good old world”,我想将每个单词的每个首字母大写,而不是使用.toUpperCase()整个字符串。是否有现成的java助手可以完成这项工作? 问题答案: 看看ACL WordUtils。

  • 问题内容: 我知道这个线程到处都是,但是,情况稍有不同。在我公司使用的套件中,我对SQL的访问权限有限,并且无法运行带有函数等的复杂代码。我有一个SQL查询,该查询将多列数据编译为一列,并使用group by子句淘汰了多重性。但是,由于存在差异,因此这导致所有结果以大写形式返回。我现在必须将其改回原来的样子,即每个单词的首字母大写。我需要一种非常简洁的方法。该套件使用VBScript和XML,但是

  • 问题内容: 我的代码中有一个小问题。我正在尝试反转单词和字符串的字符。例如,“狗跑了”将变成“ ehT神纳尔” 该代码几乎可以正常工作。它只是不添加空格。你会怎么做? 问题答案: 您走在正确的轨道上。主要问题是一个空字符串,而不是一个空格(即使您解决了这个问题,您可能也不想在最后一个单词之后留一个空格)。 这是您可以更简洁地执行此操作的方法: