读取的是sz000001.day二进制文件,是不是上面的解析文件代码有问题,请你指出来
时间: 2024-03-07 22:47:48 浏览: 22
是的,问题在于`parse_day_data`函数中的第12行代码`row_data = struct.unpack('iiiiifd', data[i])`。`struct.unpack`函数的第二个参数是一个bytes-like object,而在这里`data[i]`是一个int类型,因此会导致TypeError。解决方法是将`data[i]`转换为bytes类型,比如可以使用`bytes([data[i]])`来进行转换。修改后的代码如下所示:
```python
def parse_day_data(data):
df = pd.DataFrame(columns=['date', 'open', 'high', 'low', 'close', 'volume', 'amount'])
for i in range(len(data)):
row_data = struct.unpack('iiiiifd', bytes([data[i]]))
date = str(row_data[0])
open_price = row_data[1] / 100.0
high_price = row_data[2] / 100.0
low_price = row_data[3] / 100.0
close_price = row_data[4] / 100.0
volume = row_data[5]
amount = row_data[6]
df.loc[i] = [date, open_price, high_price, low_price, close_price, volume, amount]
return df
```