小编Mar*_*k K的帖子

在同一个 Excel 文件中将结果写入 2 个不同的工作表

你能教我 Python 是否可以写入同一个 Excel 文件,但可以写入 2 个不同的电子表格(选项卡)?

举个例子,我想把下面4个网站的标题挑出来写到同一个文件title.xls中,但是分别写在它的Sheet1和Sheet2中。

www.dailynews.com
www.dailynews.co.zw
www.gulf-daily-news.com
www.dailynews.gov.bw
Run Code Online (Sandbox Code Playgroud)

我用 2 个脚本来完成它们,每个脚本用于 2 个网站:

from bs4 import BeautifulSoup
import urllib2
import xlwt

line_in_list = ['www.dailynews.com','www.dailynews.co.zw'] 
# line_in_list = [www.gulf-daily-news.com','www.dailynews.gov.bw']

book = xlwt.Workbook(encoding='utf-8', style_compression = 0)
sheet = book.add_sheet('Sheet1', cell_overwrite_ok = True) 
# sheet = book.add_sheet('Sheet2', cell_overwrite_ok = True)

for cor,websites in enumerate(line_in_list):
    url = "http://" + websites
    page = urllib2.urlopen(url)
    soup = BeautifulSoup(page.read())
    site_title = soup.find_all("title")
    print site_title
    sheet.write (cor, 0, site_title[0].text)

book.save("title.xls")
Run Code Online (Sandbox Code Playgroud)

但是,脚本正在覆盖工作表。我只能拥有 Sheet1 或 Sheet2,但不能同时拥有。 …

python xlwt

4
推荐指数
2
解决办法
2万
查看次数

Python和Selenium以"execute_script"来解决"ElementNotVisibleException"

我正在使用Selenium来保存网页.单击某些复选框后,网页内容将发生变化.我想要的是单击一个复选框,然后保存页面内容.(复选框由JavaScript控制.)

首先我用过:

driver.find_element_by_name("keywords_here").click()
Run Code Online (Sandbox Code Playgroud)

它以错误结束:

NoSuchElementException
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用"xpath",使用隐式/显式等待:

URL = “the url”

verificationErrors = []
accept_next_alert = True

aaa = driver.get(URL)
driver.maximize_window()
WebDriverWait(driver, 10)

#driver.find_element_by_xpath(".//*[contains(text(), ' keywords_here')]").click()
#Or: 

driver.find_element_by_xpath("//label[contains(text(),' keywords_here')]/../input[@type='checkbox']").click()
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:

ElementNotVisibleException
Run Code Online (Sandbox Code Playgroud)

帖子

如何强制Selenium WebDriver点击当前不可见的元素?

Selenium元素不可见异常

建议它应该在点击之前使复选框可见,例如使用:

execute_script
Run Code Online (Sandbox Code Playgroud)

这个问题可能听起来很愚蠢,但是如何从页面源代码中找到"execute_script"复选框可见性的正确句子?

除此之外,还有另一种方式吗?

谢谢.

顺便说一句,行html代码看起来像:

<input type="checkbox" onclick="ComponentArt_HandleCheck(this,'p3',11);" name="keywords_here">
Run Code Online (Sandbox Code Playgroud)

它的xpath看起来像:

//*[@id="TreeView1_item_11"]/tbody/tr/td[3]/input
Run Code Online (Sandbox Code Playgroud)

javascript python selenium selenium-webdriver execute-script

4
推荐指数
1
解决办法
2万
查看次数

声音特征属性错误:'rmse'

在使用 librosa.feature.rmse 进行声音特征提取时,我有以下几点:

import librosa
import numpy as np 

wav_file = "C://TEM//tem//CantinaBand3.wav"
y, sr = librosa.load(wav_file)

chroma_stft = librosa.feature.chroma_stft(y=y, sr=sr)

rmse=librosa.feature.rmse(y=y)[0]

print rmse
Run Code Online (Sandbox Code Playgroud)

它给了我:

AttributeError: 'module' object has no attribute 'rmse'
Run Code Online (Sandbox Code Playgroud)

获得它的正确方法是什么?谢谢你。

示例文件:https : //www2.cs.uic.edu/~i101/SoundFiles/CantinaBand3.wav

python audio feature-extraction librosa

4
推荐指数
1
解决办法
2100
查看次数

如何在 Sublime Text 中显示输出面板

在 Sublime Text 2 中,我正在运行一个 Python 脚本(for 循环),在输出面板中连续打印出一些结果。

我不小心按下了搜索快捷键(Ctrl + f),搜索面板出现了。输出面板消失了。

有没有办法回调(很高兴有打印出来的内容)输出面板?

谢谢你。

ide text-editor window sublimetext

4
推荐指数
1
解决办法
2778
查看次数

按组件排序字符串列表

长列表包含一些要排序的元素.

实际上每个元素有4个内容:名称,输入/输出,区域和日期和时间,由'〜'连接.('〜'可以更改.)我想将列表重组为排序顺序.

a_list = ["Chris~Check-in~Zoom A~11/13/2013 05:20",
"Chris~Check-in~Zoom G~11/15/2013 14:09",
"Frank E~Check-in~Zoom K~11/11/2013 08:48",
"Frank E~Check-in~Zoom K~11/15/2013 21:32",
"Kala Lu S~Check-in~Zoom N~11/13/2013 07:20",
"Milly Emily~Check-in~Zoom G~11/13/2013 01:08",
"Milly Emily~Check-in~Zoom E~11/16/2013 14:39",
"Milly Amy~Check-in~Zoom G~11/10/2013 20:14",
"Milly Amy~Check-in~Zoom A~11/16/2013 08:55",
"Milly Amy~Check-in~Zoom O~11/14/2013 21:57",
"Milly Amy~Check-in~Zoom A~11/15/2013 10:45",
"Nago Iko~Check-in~Zoom K~11/16/2013 20:42",
"Nago Iko~Check-in~Zoom K~11/14/2013 10:46",
"Liz D~Check-in~Zoom N~11/15/2013 01:46",
"Liz D~Check-in~Zoom A~11/12/2013 09:54",
"Liz D~Check-in~Zoom G~11/16/2013 13:15",
"Chris~Check-out~Zoom A~11/13/2013 13:42",
"Chris~Check-out~Zoom G~11/11/2013 14:21",
"Chris~Check-out~Zoom G~11/16/2013 09:41",
"Frank E~Check-out~Zoom K~11/14/2013 03:02", …
Run Code Online (Sandbox Code Playgroud)

python list

3
推荐指数
1
解决办法
80
查看次数

拆分数据以在 R 中并排绘制直方图

我正在使用澳大利亚运动员数据集学习 R。

通过使用 ggplot,我可以绘制这样的直方图。

library(DAAG)

ggplot(ais, aes(wt, fill = sex)) + 
  geom_histogram(binwidth = 5)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

通过使用 summary(ais$wt),第三个四分位数是 84.12。现在我想按 wt 84.12 拆分数据。并相应地绘制2个类似的直方图(并排)

拆分是:

ais1 = ais$wt[which(ais$wt>=0 & ais$wt<=84.12)]
ais2 = ais$wt[which(ais$wt>84.12)]
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将它们放入绘图中。我试过了,但不起作用:

ggplot(ais1, aes(wt, fill = sex)) +...
Run Code Online (Sandbox Code Playgroud)

如何绘制直方图(相应地并排绘制 2 个类似的直方图)?

r histogram ggplot2

3
推荐指数
1
解决办法
2375
查看次数

如何计算连续行的时间差

原始数据看起来像这样,我想按访问者和时间对其进行排序,以计算行中的时间差,然后再将其保存到新文件中。

  visitor         v_time payment items
1    Jack 1/2/2018 16:07      35     3
2    Jack 1/2/2018 16:09     160     1
3   David 1/2/2018 16:12      25     2
4    Kate 1/2/2018 16:16       3     3
5   David 1/2/2018 16:21      25     5
6    Jack 1/2/2018 16:32      85     5
7    Kate 1/2/2018 16:33     639     3
8    Jack 1/2/2018 16:55       6     2
Run Code Online (Sandbox Code Playgroud)

分组和排序没问题。但它没有计算出时差,也没有保存文件。

visitor <- c("Jack", "Jack", "David", "Kate", "David", "Jack", "Kate", "Jack")
v_time <- c("1/2/2018 16:07","1/2/2018 16:09","1/2/2018 16:12","1/2/2018 16:16","1/2/2018 16:21","1/2/2018 16:32","1/2/2018 16:33", "1/2/2018 16:55")
payment <- c(35,160,25,3,25,85,639,6)
items …
Run Code Online (Sandbox Code Playgroud)

time r dataframe

3
推荐指数
1
解决办法
1017
查看次数

Librosa 获取音频的基本参数

通过 Wave 获取音频文件的基本参数:

import wave

data = wave.open('c:\\sample.wav', mode = 'rb')
params = data.getparams()
print params
Run Code Online (Sandbox Code Playgroud)

它返回:

(1, 2, 4000, 160000, 'NONE', 'not compressed')
Run Code Online (Sandbox Code Playgroud)

这是为了: nchannels=1, sampwidth=2, framerate=16000, nframes=47104, comptype='NONE', compname='notcompressed

我假设 Librosa 具有类似的功能,但搜索后没有发现。

Librosa 是否有产生类似结果的命令?

谢谢你。

python audio librosa

3
推荐指数
1
解决办法
2219
查看次数

Python、Pandas将Excel文件合并为1,文件名为A列

我正在将 Excel 电子表格合并为 1 个电子表格,并希望在合并时将电子表格的文件名作为第一列插入。

\n\n

要合并的Excel文件为:20170801.xlsx、20170901.xlsx、20171001.xlsx

\n\n

这是我的代码:

\n\n
working_folder = \'c:\\\\abc\\\\\'\nfiles = os.listdir(working_folder)\n\nfiles_xls = [];\nfor f in files:\n    if f.endswith(".xlsx"):\n        fff = working_folder + f\n        files_xls.append(fff)\n\ndf = pd.DataFrame();\n\nfor f in files_xls:\n    data = pd.read_excel(f, skip_footer=0)\n    file_date = basename(f).replace(".xlsx", "")\n    #data.index = pd.MultiIndex.from_tuples([("", file_date)] * len(data))\n    data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))\n    df = df.append(data)\n\ndf.to_excel(working_folder + \'final.xls\', merge_cells = False)\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题出在data.index = pd.MultiIndex \xe2\x80\xa6 行。

\n\n

当我使用时:

\n\n
data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))\n
Run Code Online (Sandbox Code Playgroud)\n\n

它会生成这样的电子表格:

\n\n

在此输入图像描述

\n\n

当我使用时: …

python excel dataframe pandas

2
推荐指数
1
解决办法
851
查看次数

控制ROUNDED_RECTANGLE的圆角,python + pptx

在幻灯片上添加 ROUNDED_RECTANGLE 时,通过使用 pptx,我生成了以下几行和幻灯片。

from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
from pptx.util import Inches

prs = Presentation()
title_only_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_only_slide_layout)
shapes = slide.shapes

shape = shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(1), Inches(0.5), Inches(8), Inches(2))

prs.save('c:\\PPT\\round rectangle.pptx')
Run Code Online (Sandbox Code Playgroud)

如果是手动的,可以调整圆角(红色箭头指向的地方)。

有没有办法从脚本中控制它?谢谢你。

在此处输入图片说明

python powerpoint python-pptx

2
推荐指数
1
解决办法
426
查看次数