如何在Python中读取文件的每一行并将每一行存储为列表中的元素?
我想逐行读取文件,并将每行附加到列表的末尾.
我将JSON数据存储在变量中data.
我想将其写入文本文件进行测试,因此我不必每次都从服务器获取数据.
目前,我正在尝试这个:
obj = open('data.txt', 'wb')
obj.write(data)
obj.close
Run Code Online (Sandbox Code Playgroud)
我收到错误:
TypeError: must be string or buffer, not dict
如何解决这个问题?
我在包含xml的数据库中有很多行,我正在尝试编写一个Python脚本,该脚本将遍历这些行并计算特定节点属性的实例数量.例如,我的树看起来像:
<foo>
<bar>
<type foobar="1"/>
<type foobar="2"/>
</bar>
</foo>
Run Code Online (Sandbox Code Playgroud)
如何使用Python访问XML中的属性1和2?
我查看了Python文档提供的信息,但我仍然有点困惑.有人可以发布编写新文件的示例代码,然后使用pickle将字典转储到其中吗?
什么是我的选择,如果我想在Python中创建简单的XML文件?(图书馆明智)
我想要的xml看起来像:
<root>
<doc>
<field1 name="blah">some value1</field1>
<field2 name="asdfasd">some vlaue2</field2>
</doc>
</root>
Run Code Online (Sandbox Code Playgroud) 如何从Keras中的HDF5文件加载模型?
我尝试了什么:
model = Sequential()
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(LeakyReLU(alpha=0.3))
model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(LeakyReLU(alpha=0.3))
model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd)
checkpointer = ModelCheckpoint(filepath="/weights.hdf5", verbose=1, save_best_only=True)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2, callbacks=[checkpointer])
Run Code Online (Sandbox Code Playgroud)
上面的代码成功地将最佳模型保存到名为weights.hdf5的文件中.我想要做的是然后加载该模型.以下代码显示了我是如何尝试这样做的:
model2 = Sequential()
model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5")
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
IndexError Traceback (most recent call last)
<ipython-input-101-ec968f9e95c5> in <module>()
1 model2 = Sequential()
----> 2 model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5")
/Applications/anaconda/lib/python2.7/site-packages/keras/models.pyc in load_weights(self, filepath)
582 g = f['layer_{}'.format(k)]
583 weights …Run Code Online (Sandbox Code Playgroud) 我有一个example.csv包含内容的文件
1,"A towel,",1.0
42," it says, ",2.0
1337,is about the most ,-1
0,massively useful thing ,123
-2,an interstellar hitchhiker can have.,3
Run Code Online (Sandbox Code Playgroud)
我如何example.csv用Python 阅读?
同样,如果我有
data = [(1, "A towel,", 1.0),
(42, " it says, ", 2.0),
(1337, "is about the most ", -1),
(0, "massively useful thing ", 123),
(-2, "an interstellar hitchhiker can have.", 3)]
Run Code Online (Sandbox Code Playgroud)
如何data使用Python 写入CSV文件?
当我尝试读取用h5py创建的HDF5格式文件时,我得到了pandas错误.我想知道我是不是做错了什么?
import h5py
import numpy as np
import pandas as pd
h5_file = h5py.File('test.h5', 'w')
h5_file.create_dataset('zeros', data=np.zeros(shape=(3, 5)), dtype='f')
h5_file.close()
pd_file = pd.read_hdf('test.h5', 'zeros')
Run Code Online (Sandbox Code Playgroud)
给出错误:TypeError:如果对象不存在也没有传递值,则无法创建存储器
我尝试将密钥集指定为'/ zeros'(就像我在阅读文件时使用h5py一样)而没有运气.
如果我使用pandas.HDFStore读取它,我会得到一个空的商店:
store = pd.HDFStore('test.h5')
>>> store
<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
Empty
Run Code Online (Sandbox Code Playgroud)
用h5py读取刚刚创建的文件没有麻烦:
h5_back = h5py.File('test.h5', 'r')
h5_back['/zeros']
<HDF5 dataset "zeros": shape (3, 5), type "<f4">
Run Code Online (Sandbox Code Playgroud)
使用这些版本:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
pd.__version__
'0.16.2'
h5py.__version__
'2.5.0'
Run Code Online (Sandbox Code Playgroud)
非常感谢,玛莎
我下载了一个存储在.h5文件中的数据集.我只需保留某些列,并能够操纵其中的数据.
为此,我尝试将其加载到pandas数据帧中.我试过用:
pd.read_hdf(path)
Run Code Online (Sandbox Code Playgroud)
但我得到: No dataset in HDF5 file.
我已经在SO上找到了答案(将条件下的HDF5文件读取到pandas DataFrame)但我不需要条件,答案会增加关于文件编写方式的条件,但我不是文件的创建者所以我可以'对此做任何事情.
我也尝试过使用h5py:
df = h5py.File(path)
Run Code Online (Sandbox Code Playgroud)
但这不容易被操纵,我似乎无法从中获取列(仅使用列的名称df.keys())有关如何执行此操作的任何想法?
我使用 Keras 的预制模型来训练有关 URL 的数据集。结果以 .h5 格式保存,我想知道是否可以将保存的 .h5 文件转换为 JSON,以便我可以查看结果并将 JSON 文件应用到我的系统中,该文件将坏 URL 与好的 URL 分开。如果可能的话,我也想避免再次重新训练。
我有一堆 hdf5 文件,我想将其中的一些数据转换为 parquet 文件。不过,我正在努力将它们读入 pandas/pyarrow 中。我认为这与文件最初创建的方式有关。
如果我使用 h5py 打开文件,数据看起来完全符合我的预期。
import h5py
file_path = "/data/some_file.hdf5"
hdf = h5py.File(file_path, "r")
print(list(hdf.keys()))
Run Code Online (Sandbox Code Playgroud)
给我
>>> ['foo', 'bar', 'baz']
Run Code Online (Sandbox Code Playgroud)
在本例中,我对“bar”组感兴趣,其中包含 3 个项目。
如果我尝试读取使用中的数据,HDFStore我将无法访问任何组。
>>> ['foo', 'bar', 'baz']
Run Code Online (Sandbox Code Playgroud)
那么该HDFStore对象就没有键或组。
import pandas as pd
file_path = "/data/some_file.hdf5"
store = pd.HDFStore(file_path, "r")
Run Code Online (Sandbox Code Playgroud)
如果我尝试访问数据,则会收到以下错误
assert not store.groups()
assert not store.keys()
Run Code Online (Sandbox Code Playgroud)
TypeError: cannot create a storer if the object is not existing nor a value are passed
Run Code Online (Sandbox Code Playgroud)
同样,如果我尝试使用pd.read_hdf它看起来文件是空的。
bar = store.get("/bar")
Run Code Online (Sandbox Code Playgroud)
ValueError: Dataset(s) …Run Code Online (Sandbox Code Playgroud)