你能教我 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,但不能同时拥有。 …
我正在使用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点击当前不可见的元素?
建议它应该在点击之前使复选框可见,例如使用:
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
在使用 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
在 Sublime Text 2 中,我正在运行一个 Python 脚本(for 循环),在输出面板中连续打印出一些结果。
我不小心按下了搜索快捷键(Ctrl + f),搜索面板出现了。输出面板消失了。
有没有办法回调(很高兴有打印出来的内容)输出面板?
谢谢你。
长列表包含一些要排序的元素.
实际上每个元素有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) 我正在使用澳大利亚运动员数据集学习 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 个类似的直方图)?
原始数据看起来像这样,我想按访问者和时间对其进行排序,以计算行中的时间差,然后再将其保存到新文件中。
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) 通过 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 是否有产生类似结果的命令?
谢谢你。
我正在将 Excel 电子表格合并为 1 个电子表格,并希望在合并时将电子表格的文件名作为第一列插入。
\n\n要合并的Excel文件为:20170801.xlsx、20170901.xlsx、20171001.xlsx
\n\n这是我的代码:
\n\nworking_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)\nRun Code Online (Sandbox Code Playgroud)\n\n问题出在data.index = pd.MultiIndex \xe2\x80\xa6 行。
\n\n当我使用时:
\n\ndata.index = pd.MultiIndex.from_tuples([(file_date)] * len(data))\nRun Code Online (Sandbox Code Playgroud)\n\n它会生成这样的电子表格:
\n\n\n\n当我使用时: …
在幻灯片上添加 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 ×7
audio ×2
dataframe ×2
librosa ×2
r ×2
excel ×1
ggplot2 ×1
histogram ×1
ide ×1
javascript ×1
list ×1
pandas ×1
powerpoint ×1
python-pptx ×1
selenium ×1
sublimetext ×1
text-editor ×1
time ×1
window ×1
xlwt ×1