Python Writing' N'字节数据到二进制文件

时间:2015-04-21 12:48:41

标签: python excel struct binary

我在Excel表格中有以下数据, 第1列是字节数,第2列是其数据(dat是十进制,十六进制,IP地址格式)

问题是如何将这些写入二进制文件,如  在1个字节的数据中,写入0x01,然后写入2个字节的数据,然后写入0xAABB  在4字节数据中,写入10080000(dec)..等甚至4字节的IP地址,写入 10.65.84.8

问题: 1)是否需要将所有数据转换为一种格式(即十进制或十六进制)? 2)是否有内置函数可以写入(num_of_bytes,value)?

File.xls

字节数

1             0x01 (hex)
2             0xAABB
4             10080000
2             100
4             18181818 (decimal)
4             10.65.84.8(ip address)

我是python的新手并已完成从Excel(cvs)表

读取数据的操作
def open_file():
    book = xlrd.open_workbook('file.csv') 
    # get the first worksheet
    first_sheet = book.sheet_by_index(0)

    # read a cell
    cell = first_sheet.cell(0,0)
    num_rows = first_sheet.nrows 
    num_cols = first_sheet.ncols 

    for m in range(0, num_rows):
        for n in range(0, num_cols):
            cell = first_sheet.cell(m,n)
            print 'cell value %d',cell.value

1 个答案:

答案 0 :(得分:1)

您可以使用struct,打包和解压缩来读取和写入二进制数据,这是我找到的最佳解决方案,最干净的是以hex()格式处理数据。还要注意你的机器的印度,当你要写和读,它是在同一台机器上!

干杯,