| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1364 人关注过本帖
标题:请教关于不同环境运行同一个py脚本,一个可以另一个出错。
只看楼主 加入收藏
yinghu183
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-9-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
请教关于不同环境运行同一个py脚本,一个可以另一个出错。
折腾了几天了,百度Google都被我翻遍了快,请大佬们帮帮忙,万分感谢!

两个运行环境分别为:
一、黑群晖安装python3.8,这个完全没有问题,可以正常执行程序。(因为群晖只能设置定时任务,不能结合homeassistant条件触发脚本的运行,于是有了下面第二个方案)
二、黑群晖docker安装的Noed-Red容器,python版本:
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
,然后在这个容器中执行同一个脚本就死活出错如下:(我不清楚是不是容器内python版本的问题,尝试过把容器内的python升级到3.8,可总是不能成功。当然,目前还不知道是不是版本的原因。。。另外我尝试过在容器内执行一些简单的python脚本都是完全没问题的。)
程序代码:
Command failed: python3 /config/www/bill/bill_excel.py 1630811837787
Traceback (most recent call last):
  File "/config/www/bill/bill_excel.py", line 9, in <module>
    df = pd.read_json(filedir + "/bill.json", encoding="utf-8", lines = True, orient='records')
  File "/usr/lib/python3/dist-packages/pandas/io/json.py", line 281, in read_json
    date_unit).parse()
  File "/usr/lib/python3/dist-packages/pandas/io/json.py", line 349, in parse
    self._parse_no_numpy()
  File "/usr/lib/python3/dist-packages/pandas/io/json.py", line 579, in _parse_no_numpy
    loads(json, precise_float=self.precise_float), dtype=None)
ValueError: Expected object or value



python文件代码如下:
程序代码:
# coding=utf-8

import json
from pandas import Series,DataFrame
import pandas as pd

filedir ='/volume4/docker/homeassistant/www/bill'

df = pd.read_json(filedir + "/bill.json", encoding="utf-8", lines = True, orient='records')

df["当日合计"] =df.apply(lambda x:x.sum(),axis =1) #最右侧插入当日合计列
df.loc["品类合计"] =df.apply(lambda x:x.sum())     #最下方插入每行合计

df.style.hide_index()\
        .highlight_max(axis=1,subset=("当日合计"))\
        .to_excel(filedir + '/最新账单.xlsx', sheet_name='月度账单', na_rep='-',float_format='%.2f', 
                  engine = 'openpyxl')


[此贴子已经被作者于2021-9-5 11:33编辑过]

搜索更多相关主题的帖子: 容器 python python3 lib 脚本 
2021-09-05 11:31
_xXx_
Rank: 2
等 级:论坛游民
威 望:1
帖 子:4
专家分:40
注 册:2021-9-5
收藏
得分:20 
你这大概率是文件没读取上,问题出在路径上,脚本睁眼瞎了,你参考这个文章看看https://blog.
2021-09-05 19:49
yinghu183
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-9-5
收藏
得分:0 
回复 2楼 _xXx_
我又测试了一下,应该不是这个原因。py文件和excel都在一个文件夹内,我又进一步测试了一次,另外用一个简单的py脚本测试。先ls一下文件夹目录:
root@nodered-node-red-docker1:/config/www/bill# ls
b.json  bill.json  bill_excel.py  pi.txt  test4.py  ????????????.png  ????????????.xlsx


其中test4.py代码如下,读取同文件夹内pi.txt文件
with open('pi.txt') as file_object:
    contents = file_object.read()
    print(contents.rstrip())

成功运行:
程序代码:
root@nodered-node-red-docker1:/config/www/bill# python3 test4.py
3.1415926535
  8979323846
  2643383279


再试一次bill_excel.py脚本,使用read_json读取bill.json,py代码如下:
程序代码:
# coding=utf-8

import json
from pandas import Series,DataFrame
import pandas as pd

df = pd.read_json('bill.json', encoding="utf-8", lines = True, orient='records')

df["当日合计"] =df.apply(lambda x:x.sum(),axis =1) #最右侧插入当日合计列
df.loc["品类合计"] =df.apply(lambda x:x.sum())     #最下方插入每行合计

df.style.hide_index()\
        .highlight_max(axis=1,subset=("当日合计"))\
        .to_excel('最新账单.xlsx', sheet_name='月度账单', na_rep='-',float_format='%.2f', 
                  engine = 'openpyxl')


还是像一楼那样报错代码,而这个bill_excel.py文件不管是在windows环境还是群晖环境中都是可以成功运行的。
程序代码:
root@nodered-node-red-docker1:/config/www/bill# python3 bill_excel.py
Traceback (most recent call last):
  File "bill_excel.py", line 9, in <module>
    df = pd.read_json(filedir + "/bill.json", encoding="utf-8", lines = True, orient='records')
  File "/usr/lib/python3/dist-packages/pandas/io/json.py", line 281, in read_json
    date_unit).parse()
  File "/usr/lib/python3/dist-packages/pandas/io/json.py", line 349, in parse
    self._parse_no_numpy()
  File "/usr/lib/python3/dist-packages/pandas/io/json.py", line 579, in _parse_no_numpy
    loads(json, precise_float=self.precise_float), dtype=None)
ValueError: Expected object or value


我实在是没找了。。。。。。恳请大佬们给点思路,谢谢!
2021-09-05 20:38
快速回复:请教关于不同环境运行同一个py脚本,一个可以另一个出错。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027977 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved