Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用webdriver后如何正确写入csv_Python_Selenium_Xpath_Selenium Webdriver_Webdriver - Fatal编程技术网

Python:使用webdriver后如何正确写入csv

Python:使用webdriver后如何正确写入csv,python,selenium,xpath,selenium-webdriver,webdriver,Python,Selenium,Xpath,Selenium Webdriver,Webdriver,我使用xpath helper帮助我在登录网站中删除一个表 代码: 结果如下所示,数据类型为“字符串”: 我想将这个字符串写入csv,不使用前三行,并使用逗号分隔它们,否则它们将合并在一起 代码如下: if "#@5@#*&(" in g and "&*(%#IO" in g and "!@%&*(O)" in g: g=g.replace("#@5@#*&(", "") g=g.replace("&*(%#IO", "") g=g

我使用xpath helper帮助我在登录网站中删除一个表

代码:

结果如下所示,数据类型为“字符串”:

我想将这个字符串写入csv,不使用前三行,并使用逗号分隔它们,否则它们将合并在一起

代码如下:

if "#@5@#*&(" in g and "&*(%#IO" in g and "!@%&*(O)" in g:
    g=g.replace("#@5@#*&(", "")
    g=g.replace("&*(%#IO", "")
    g=g.replace("!@%&*(O)", "")
    g=g.replace(' ', ',')  
print(g)
file_name="C:/Test.csv"
with open(file_name,'a') as file:
    file.write(g+'\n')
困扰我的是,我不知道如何删除前三行。我将它们替换为空白,但它们仍然存在,每次我写入csv时,它们都会发生。第二,当我用逗号分隔它们时,出现了一些错误。像马自达5一样,它不应该被分开。有什么好办法解决这个问题吗?或者我应该在csv文件中更正它

源代码:

<tr align="left" style="height:40px;">
  <td>2018/02/02</td>
  <td>206</td>
  <td>MAZDA</td>
  <td>MAZDA 5</td>
  <td>5660-ES</td>
  <td>2006</td>
  <td>01</td>
  <td>1999</td>
  <td>70000</td>
  <td>white</td>
  <td align="center" valign="middle"></td>
  <td>A</td>
</tr>

2018/02/02
206
马自达
马自达5
5660-ES
2006
01
1999
70000
白色
A.

要删除字符串的前几行,只需找出第一条相关信息的位置即可

temp = "adknsad"
temp[2:][/code>将输出类似于
的“knsad”

你的那根绳子应该是一样的


我不认为有任何简单的方法可以解决马自达5的问题。

要删除字符串的前几行,只需找出第一条相关信息的位置即可

temp = "adknsad"
temp[2:][/code>将输出类似于
的“knsad”

你的那根绳子应该是一样的


我不认为有任何简单的方法可以解决马自达5的问题。

当涉及到删除前3行时,您可以:

  • 将新行字符替换为空(使用类似于
    “#@5@#*&(\n”
    )的字符串;或
  • 将原始字符串拆分为几行并删除前3行,然后再次合并它们
    “\n”。join(g.split(“\n”)[3:])

第二个问题要困难得多,因为通过将tbody的所有内容保存到一个变量中,您实际上丢失了有关分隔符的信息。现在您无法知道该空格最初是在那里还是只是一个自动添加的分隔符。我建议逐个刮除每个
td
单元格。

当涉及到r时删除前3行,您可以:

  • 将新行字符替换为空(使用类似于
    “#@5@#*&(\n”
    )的字符串;或
  • 将原始字符串拆分为几行并删除前3行,然后再次合并它们
    “\n”。join(g.split(“\n”)[3:])
第二个问题要困难得多,因为通过将tbody的所有内容保存到一个变量中,您实际上丢失了有关分隔符的信息。现在您无法知道该空格最初是在那里,还是只是自动添加的分隔符。我建议将每个
td
单元格分别删除

temp = "adknsad"