这是我的Perl和Python脚本,用于从大约21个日志文件进行一些简单的文本处理,每个大约300 KB到1 MB(最大)x重复5次(总共125个文件,由于日志重复5次).
Python代码(修改后使用编译re和使用的代码re.I)
#!/usr/bin/python
import re
import fileinput
exists_re = re.compile(r'^(.*?) INFO.*Such a record already exists', re.I)
location_re = re.compile(r'^AwbLocation (.*?) insert into', re.I)
for line in fileinput.input():
    fn = fileinput.filename()
    currline = line.rstrip()
    mprev = exists_re.search(currline)
    if(mprev):
        xlogtime = mprev.group(1)
    mcurr = location_re.search(currline)
    if(mcurr):
        print fn, xlogtime, mcurr.group(1)
Run Code Online (Sandbox Code Playgroud)
Perl代码
#!/usr/bin/perl
while (<>) {
    chomp;
    if (m/^(.*?) INFO.*Such a record already exists/i) {
        $xlogtime = $1;
    }
    if (m/^AwbLocation (.*?) insert into/i) …Run Code Online (Sandbox Code Playgroud) 尝试了各种方法之后......我偶然发现这个页面采用了chromedriver,selenium和python的全页截图.
原始代码在这里:http://seleniumpythonqa.blogspot.com/2015/08/generate-full-page-screenshot-in-chrome.html(我在下面的帖子中复制代码)
它使用PIL,效果很棒!!!!! 然而,有一个问题......它捕获整个页面的固定标题和重复,并且在页面更改期间也错过了页面的某些部分.示例网址截取屏幕截图:
http://www.w3schools.com/js/default.asp
如何避免使用此代码重复标头...或者是否有更好的选项只使用python ... (我不知道java,不想使用java).
请参阅下面的当前结果和示例代码的屏幕截图.
test.py
"""
This script uses a simplified version of the one here:
https://snipt.net/restrada/python-selenium-workaround-for-full-page-screenshot-using-chromedriver-2x/
It contains the *crucial* correction added in the comments by Jason Coutu.
"""
import sys
from selenium import webdriver
import unittest
import util
class Test(unittest.TestCase):
    """ Demonstration: Get Chrome to generate fullscreen screenshot """
    def setUp(self):
        self.driver = webdriver.Chrome()
    def tearDown(self):
        self.driver.quit()
    def test_fullpage_screenshot(self):
        ''' Generate document-height screenshot '''
        #url = "http://effbot.org/imagingbook/introduction.htm"
        url = …Run Code Online (Sandbox Code Playgroud) 嗨,我有一个过滤器“m”集,它足够灵活,可以由我进行更改。有时,我想按 Car 或 x_acft_body 或任何其他各种字段等进行过滤。有时我想通过注释和取消注释所需的行来返回所有行。但不更改后续代码,在过滤器 'm' 行之后。
当我不想应用过滤器时,我如何才能拥有一个对所有行都返回 true 的过滤器?例如,类似的东西,1==1但我知道这行不通。
我不想设置dfdata.somefield.notnull()等等,因为我不太确定这个字段是否总是不为空。我也不想将后续代码更改为dfdata.groupby.     ie 没有[m]
# set filter if needed
m = (   1==1 #& return true at all times
#         (dfdata.Car == 'PG') #&
#         (dfdata.x_acft_body == 'N')# &
#         (dfdata.Car.isin(['PG', 'VJ', 'VZ']))
)
dft1 = dfdata[m].groupby(['FLD1']).agg({'FLD2': 'count'})
Run Code Online (Sandbox Code Playgroud) 在Perl中使用:
while (<>) {
    # process files given as command line arguments
}
Run Code Online (Sandbox Code Playgroud)
在Python中我发现:
import fileinput
for line in fileinput.input():
    process(line)
Run Code Online (Sandbox Code Playgroud)
但是,当命令行中给出的文件不存在时会发生什么?
python test.py test1.txt test2.txt filenotexist1.txt filenotexist2.txt test3.txt 被作为论据.
我尝试了各种使用方法try: except: nextfile,但我似乎无法使其工作.
对于上面的命令行,脚本应该运行test1-3.txt但只是在找不到文件时转到下一个文件静默.
Perl非常好.我在网上搜索过这个,但我无法在任何地方找到答案.
有没有办法在 Google Colab 中启用编号的标题和目录?
类似问题:markdown - jupyter notebooks 中的编号标题 - Jupyter Notebook 的堆栈溢出(需要 nbextension)。
需要 Google Colab 的解决方案。
markdown tableofcontents heading jupyter-notebook google-colaboratory
我试图将phpexcel与我自己的模板文件一起使用.phpexcel加载文件并将数据写入某些单元格A2,A3,A4,然后打开包含新数据的输出文件.
我的模板文件内置了图表..我想要phpexcel做的就是填充单元格中的值而不要触摸图表.并且,打开新文件.(请注意,我不想在代码中创建图表.我希望图表在我的模板中以与我最初创建的格式相同的格式预先存在).只有数据才能更新.
但是,当我尝试这样做时...图表本身会从生成的文件中丢失.尝试各种方式后..仍然失败.
并且,我从http://phpexcel.codeplex.com/discussions/397263找到了以下代码
require_once 'Classes/PHPExcel.php'; 
/** PHPExcel_IOFactory */
include 'Classes/PHPExcel/IOFactory.php';
$target ='Results/';
$fileType = 'Excel2007';   
$InputFileName = $target.'Result.xlsx';   
$OutputFileName =  $target . '_Result.xlsx';
 //Read the file (including chart template) 
$objReader = PHPExcel_IOFactory::createReader($fileType); 
$objReader->setIncludeCharts(TRUE);
$objPHPExcel = $objReader->load($InputFileName); 
 //Change the file 
$objPHPExcel->setActiveSheetIndex(0)
// Add data
            ->setCellValue('C3','10' )
            ->setCellValue('C4','20' )
            ->setCellValue('C5','30')
            ->setCellValue('C5','40' );
 //Write the file (including chart)
PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType); 
$objWriter->setIncludeCharts(TRUE);
$objWriter->save($OutputFileName);
Run Code Online (Sandbox Code Playgroud)
上面的代码在excel 2010中工作,现在让我的图表保持正常......但是当我尝试使用文件类型"Excel5"时它仍然不起作用.
它会引发以下错误:
    Fatal error: Call to undefined method PHPExcel_Reader_Excel5::setIncludeCharts()
 in D:\IT\bfstools\PHPExcel\MyExamples\test1.php …Run Code Online (Sandbox Code Playgroud) 我在远程计算机上运行dfdata的jupyter服务器笔记本中有一个数据框。
我想将远程计算机内存中的数据帧访问到本地计算机,例如将粘贴dfdata到Excel。
正常情况下(当笔记本服务器在本地运行时),我dfdata.to_clipboard()  可以将数据帧复制到剪贴板,现在可以将其粘贴到Excel。
但是,由于s dfdata现在位于远程计算机上,dfdata.to_clipboard()因此s剪贴板中没有该数据帧的副本。
如何做到这一点,即将粘贴数据帧从远程计算机复制到本地运行的Excel,文本文件等?to_clipboard()由于设计上的任何安全限制,这些替代方法(如果设计)将无法在远程服务器上运行。
嗨,我有一个像df一样的数据集.我分别提供图像和样本数据帧.
我想将原始数据帧(df)转换为转换后的数据帧(dft),以便我可以看到每个设备在24小时内(甚至更长时间,最多9天)的利用率...每隔5分钟.然后可以将dft用于绘图......描述的工具提示等.
当然,如果你有任何其他更简单的解决方案,而不是我下面的大纲也可以很好.
原始数据帧(df)
以下是上面的数据框(df),您可以将其复制粘贴到jupyter来创建它:
from io import StringIO
import pandas as pd
dfstr = StringIO(u"""
eqpt;starttm;endtm;use_count;desc
AT1;2017-04-01 10:35;2017-04-01 11:05;2;test asdf1
AT2;2017-04-01 11:00;2017-04-01 11:30;5;test asdf2
AT1;2017-04-01 11:00;2017-04-01 11:30;4;test asdf3
AT3;2017-04-01 10:45;2017-04-01 11:45;3;test asdf4
CBL1;2017-04-01 11:10;2017-04-1 11:40;4;test asdf5
""")
df = pd.read_csv(dfstr, sep=";")
df
Run Code Online (Sandbox Code Playgroud)
我想将df转换为每个eqpt的各个行...比如说起始时间和结束时间从2017-04-01 00:00到23:55,这样我就可以知道每个5分钟网格中的设备利用率以及绘图并重新抽样,在每1小时内说出最大值,以便进行汇总等.
转换数据帧(dft)
这是生成的变换图像..以及样本结果数据帧(dft)如下:
此数据框的列来自原始数据框的"eqpt".
刚才意识到,如果需要保持use_counts只聚合一个数字,那么描述列不能在同一个数据帧dft中.因此,请提供任何可以实现相同目的的替代解决方案,但将列保持为float仅用于计数,描述文本在其他地方聚合..以后可以合并或查找.
以下是上面的数据帧(dft):
dftstr = StringIO(u"""
datetime;Item;AT1;AT2;AT3;CBL1;AT_n
2017-04-01 10:30;use_count;;;;;
2017-04-01 10:35;use_count;2;;;;
2017-04-01 10:40;use_count;2;;;;
2017-04-01 10:45;use_count;2;;3;;
2017-04-01 10:50;use_count;2;;3;;
2017-04-01 10:55;use_count;2;;3;;
2017-04-01 11:00;use_count;6;5;3;;
2017-04-01 11:05;use_count;4;5;3;;
2017-04-01 11:10;use_count;4;5;3;4;
2017-04-01 11:15;use_count;4;5;3;4;
2017-04-01 11:20;use_count;4;5;3;4;
2017-04-01 11:25;use_count;4;5;3;4; …Run Code Online (Sandbox Code Playgroud) 我访问了这个网站:http: //www.avcodes.co.uk/airlcodesearch.asp
并且,选择了最后一个选项:
Select a letter for ICAO Codes: and chose "B"
Run Code Online (Sandbox Code Playgroud)
然后点击 Submit.
我使用Firefox中的Tamper Data和Live HTTP Headers监控进度.
并且,一切都很好..并且实现相同效果所需的直接URL是:
http://www.avcodes.co.uk/airllistres.asp?statuslst=Y&iataairllst=&icaoairllst=B&B1=Submit
但是,使用上述URL时,不会返回数据.
我缺少什么,如何找到正确的URL.
这个练习的目的是一旦我知道URL ..我将使用python脚本循环到A到Z并获取所有页面的内容.
请帮忙.
说我有这样的样本数据
我想为大型数据集生成带有 desc1 和 desc2 示例文本的摘要数据框..(大约 20,000 行)
我将有更多的列,如 desc3、desc4 等……我可能希望在结果中包含额外的 desc_n 样本。
目的是了解唯一名称是什么(分组依据)..然后查看连接的其他字段的示例文本和唯一 desc1 的计数