我有一个文件,其内容是python列表的形式,如下所示:
['hello','how','are','you','doing','today','2016','10.004']
Run Code Online (Sandbox Code Playgroud)
有没有办法将python文件读回列表对象?而不是使用.read()并将整个文件作为字符串读取.
编辑:对于那些可能感兴趣的人我使用(导入ast)遇到一个奇怪的问题,建议作为上述问题的解决方案.
我用它的程序有一个函数,从雅虎财务python模块获取历史股票数据.此函数与使用ast.literal_eval()的函数无关或依赖于该函数.
无论如何,每天晚上收市后,我从雅虎财经收集新批次的历史数据,昨晚我遇到了一个错误:simplejson.scanner.jsondecodeerror期待价值.
这很奇怪,因为它会为一些公司收集数据,但会为其他公司抛出错误,有时候为同一家公司工作,但一分钟之后它就无法工作.在尝试各种各样的事情来调试和解决问题后,记得最近添加了导入ast,并认为我应该试着看看它是否会产生影响,在删除导入后,程序恢复正常工作.
有谁知道为什么导入导致问题?@Apero为什么你最初警告不要使用eval或ast.literal_eval?
如果我使用:
with open(Name, 'w') as outfile:
json.dump(json_object, outfile)
Run Code Online (Sandbox Code Playgroud)
之后是否有必要使用 file.close() 方法?
在一般情况下,比如在 python 中将普通字符串写入文件,不使用 file.close() 方法的后果是什么?
我正在尝试使用以下代码的beautifulsoup从网站访问文章内容:
site= 'www.example.com'
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
content = soup.find_all('p')
content=str(content)
Run Code Online (Sandbox Code Playgroud)
内容对象包含页面中"p"标记内的所有主要文本,但是输出中仍然存在其他标记,如下图所示.我想删除匹配的<>标签对和标签本身所包含的所有字符.这样只留下文字.
我尝试了以下方法,但它似乎不起作用.
' '.join(item for item in content.split() if not (item.startswith('<') and item.endswith('>')))
Run Code Online (Sandbox Code Playgroud)
在sting中删除子串的最佳方法是什么?以某种模式开始和结束,例如<>
我正在尝试使用 bitfinex REST api 获取历史 OHLC 数据,文档如下:https ://bitfinex.readme.io/v2/reference#rest-public-candles
我有以下代码:
try:
url = 'https://api.bitfinex.com/v2/candles/trade:1m:tBTCUSD/hist'
params = { 'start': 1506816000, 'end': 1509674567 }
r = requests.get(url, params = params)
data = r.json()
print(json.dumps(data, indent=2))
except Exception, e:
print e
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我得到一个仅包含 100 个元素的列表,而不是给定时间段内的所有柱形图,我尝试更改“限制”参数,但它的最大值为 1000,这比 1 分钟柱形图的一天还少。
我还尝试使用来自 cryptowatch 的市场数据 API,使用以下网址: https: //api.cryptowat.ch/markets/gdax/btcusd/ohlc ,但无论我为开始和结束时间传递什么参数,它都会返回最后 500 个小节。(但是我希望能够指定时间范围并获取多个月的数据,就像大多数其他 API 一样)
有没有办法从 Bitfinex 获取历史数据?他们的 API 大部分都有详细的文档记录,所以我很惊讶仅仅获取历史数据是如此困难。
我有两个具有相同列和完全相同行数的数据框
数据帧1具有原始数据,数据帧2包含已更改的字段(更改的字段包含新值,未更改的字段为nan)。
我想本质上将df 2中的“新数据”覆盖在df 1中的数据上,并获得以下结果。
df1:
Key a b
123 6 1
124 7 6
125 3 5
df2:
Key a b
123 nan nan
124 8 nan
125 nan 4
Result df:
Key a b
123 6 1
124 8 6
125 3 4
Run Code Online (Sandbox Code Playgroud) 我正在测试机器学习算法的性能,特别是它如何处理丢失的数据以及当变量丢失时会遇到什么样的性能下降。
例如,当变量 x 的 20% 缺失时,模型的准确度会下降一定的百分比。为了做到这一点,我想通过替换数据框列中 20% 的行来模拟丢失的数据。
有没有现有的方法可以做到这一点?
开始 df:
d = {'var1': [1, 2, 3, 4], 'var2': [5, 6, 7, 8]}
df = pd.DataFrame(data=d)
df
var1 var2
0 1 5
1 2 6
2 3 7
3 4 8
Run Code Online (Sandbox Code Playgroud)
最终结果:随机删除列“var1”的 50%
df
var1 var2
0 nan 5
1 2 6
2 nan 7
3 4 8
Run Code Online (Sandbox Code Playgroud) 如何删除此字符串中的链接
s=' hello how are you www.ford.com today '
Run Code Online (Sandbox Code Playgroud)
所以输出是
s='hello how are you today'
Run Code Online (Sandbox Code Playgroud) 我有当前的代码:
class Stock:
def __init__(self,name,price):
self.name = name
self.price = price
name='MSFT'
price=100
obj1= Stock(name,price)
Run Code Online (Sandbox Code Playgroud)
但是这仅适用于创建类的单个实例,如果我有一个包含数百个名称的列表,如何创建对象变量名称并初始化它们呢?