小编nis*_*ish的帖子

继续写入同一行文件

我已经打开了要写的文件:

data = open('input','a')
Run Code Online (Sandbox Code Playgroud)

使用循环,我想在同一行写一些文字到文件.在每次循环迭代后,我想添加一个换行符.

while loop:
    for loop:
        /* do something */
        if some_condition:
            data.write(str(tag)+"")
    data.write("\n")
Run Code Online (Sandbox Code Playgroud)

我的预期产量是:

city mountain sky sun
bay lake sun tree
Run Code Online (Sandbox Code Playgroud)

但是我得到了:

city 
mountain 
sky 
sun

bay 
lake 
sun 
tree
Run Code Online (Sandbox Code Playgroud)

如何更改代码以获得预期的输出?谢谢.

python file-io

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

python中的单词频率不起作用

我试图使用python计算文本文件中的单词频率.

我使用以下代码:

openfile=open("total data", "r")

linecount=0
for line in openfile:
    if line.strip():
        linecount+=1

count={}

while linecount>0:
    line=openfile.readline().split()
    for word in line:
        if word in count:
            count[word]+=1
        else:
            count[word]=1
    linecount-=1

print count
Run Code Online (Sandbox Code Playgroud)

但我得到一本空字典."print count"给出{}作为输出

我也试过用:

from collections import defaultdict
.
.
count=defaultdict(int)
.
.
     if word in count:
          count[word]=count.get(word,0)+1
Run Code Online (Sandbox Code Playgroud)

但我又得到了一本空字典.我不明白我做错了什么.有人可以指出吗?

python dictionary

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

HTTP:nltk.download()的代理验证错误

我正在使用nltk.download()下载我需要的软件包.但我收到以下错误.

root@nishant-Inspiron-1545:/home/nishant/Dropbox/DDP/data# python
Python 2.7.3 (default, Apr 10 2013, 05:09:49)  [GCC 4.7.2] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> import nltk.downloader
>>> nltk.download()
NLTK Downloader
---------------------------------------------------------------------------
    d) Download      l) List      c) Config      h) Help      q) Quit
---------------------------------------------------------------------------
Downloader> d

Download which package (l=list; x=cancel)?
Identifier> l
Packages:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/nltk/downloader.py", line 644, in download
self._interactive_download()
File "/usr/lib/python2.7/dist-packages/nltk/downloader.py", line 964, in _interactive_download
DownloaderShell(self).run() …
Run Code Online (Sandbox Code Playgroud)

python ubuntu http urllib2 nltk

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

从文件中删除数字

我有一个表格的文件:

car1 auto1 automobile1 machine4 motorcar1
bridge1 span5
road1 route2
Run Code Online (Sandbox Code Playgroud)

但我想删除整数,以便我的文件看起来像:

car auto automobile machine motorcar
bridge span
road route
Run Code Online (Sandbox Code Playgroud)

我试图逐个字符地读取文件,如果字符是数字,请跳过它.但是我将它们打印在一个新文件中.如何在输入文件中进行更改?

python

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

如何迭代字典 - 一次n个键值对

我有一个包含数千个元素的非常大的字典.我需要用这个字典作为参数执行一个函数.现在,我不是在一次执行中传递整个字典,而是希望批量执行该函数 - 一次使用字典的x键值对.

我正在做以下事情:

mydict = ##some large hash
x = ##batch size
def some_func(data):
    ##do something on data
temp = {}
for key,value in mydict.iteritems():
        if len(temp) != 0 and len(temp)%x == 0:
                some_func(temp)
                temp = {}
                temp[key] = value
        else:
                temp[key] = value
if temp != {}:
        some_func(temp)
Run Code Online (Sandbox Code Playgroud)

这对我来说非常讨厌.我想知道是否有一种优雅/更好的方式来做到这一点.

python dictionary

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

如何重命名与嵌套JSON对应的DataFrame中的字段

我正在尝试使用移动应用程序(如点击等)处理收到的JSON事件spark 1.5.2.有多个应用程序版本,事件的结构因版本而异.

假设版本1具有以下结构:

{
    "timestamp": "",
    "ev": {
                "app": {
                    "appName": "XYZ",
                    "appVersion": "1.2.0"
                }
                "device": {
                    "deviceId": "ABC",
                    ...
                }
                ...
             }
}
Run Code Online (Sandbox Code Playgroud)

另一个版本具有以下结构:

{
    "timestamp": "",
    "ev": {
                "_a": {
                    "name": "XYZ",
                    "version": "1.3.0"
                }
                "_d": {
                    "androidId": "ABC",
                    ...
                }
                ...
             }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够为结构创建单个数据帧并执行一些查询.

我正在使用该filter函数为每个结构创建两个不同的数据帧.现在我需要能够重命名列以对两个数据帧执行联合操作.

我在用:

df.withColumnRenamed("ev.app", "ev._a").withColumnRenamed("ev.device", "ev._d");
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我该如何实现这一目标?

apache-spark apache-spark-sql

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

如何从numpy ndarray中删除特定值

我有一个numpy ndarray,看起来像:

[[  0   0   0],
[  0   0   0],
[  0   0   0],
[  0   0   0],
[  0   0   0],
[  0   0   0],
[  0   0   0],
[225 224 228],
[163 164 174],
[205 212 229],
[116 130 153],
[ 81 101 132],
[ 34  56  92],
[  2  16  35],
[ 33  44  64],
[ 38  49  71],
[ 63  75  99],
[ 76  88 116],
[ 45  62  95],
[ 29  50  88],
[ 18 …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

docker-compose env 文件可以在 yml 中工作,但不能使用命令行参数

我有一个 docker-compose 文件,如下所示:

version: '3.8'
services:
    scheduler:
        image: apache/airflow
        command: scheduler
        restart: on-failure
        env_file:
            - .env
        volumes:
            - ./dags:/opt/airflow/dags
            - ./logs:/opt/airflow/logs
    webserver:
        image: apache/airflow
        entrypoint: ./scripts/entrypoint.sh
        restart: on-failure
        depends_on:
            - scheduler
        env_file:
            - .env
        volumes:
            - ./dags:/opt/airflow/dags
            - ./logs:/opt/airflow/logs
            - ./scripts:/opt/airflow/scripts
        ports:
            - "8080:8080"
Run Code Online (Sandbox Code Playgroud)

它在运行时按预期工作docker-compose up。但是,如果我从 yml 中删除该env_file选项并将其传递到 CLI - 中docker-compose --env-file .env up,那么它不会从文件中选取环境变量的值。

environment-variables docker docker-compose airflow

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

如何在WordNet中找到两个同义词之间的语义关系

我正在使用WordNet 3.0.我想知道如何在WordNet层次结构中找到两个同义词之间的语义关系.如同,作为输入两个单词我想找到它们之间的关系,即它们是同义词,hyponym-hypernym等.

是否有python或perl模块来实现这一目标?

python perl similarity wordnet

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

无法完成"捆绑安装" - 无法安装linecache19 -v'0.5.12'

在相应的目录中运行"bundle install"时,我得到了以下错误:

An error occurred while installing linecache19 (0.5.12), and Bundler cannot continue.
Make sure that `gem install linecache19 -v '0.5.12'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)

在尝试运行gem install linecache19 -v '0.5.12'(如上所述)时,我收到以下错误:

nishant@nishant-Inspiron-1545:~/voylla_website$ gem install linecache19 -v '0.5.12'
Building native extensions.  This could take a while...
ERROR:  Error installing linecache19:
ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9.1 extconf.rb
checking for vm_core.h... no
/home/nishant/.rvm/gems/ruby-1.9.2-p320/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:39: Use RbConfig instead of obsolete and deprecated Config.
checking for vm_core.h... no
*** extconf.rb failed ***
Could …
Run Code Online (Sandbox Code Playgroud)

ruby gem ruby-on-rails bundler linecache

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