python dbfread读取DBF数据,通过records读取未标记删除数据,deleted读取标记删除的数据。
那该如何获取各个数据在DBF中的行号呢?
table = dbfread.DBF('C:\\xxxx.dbf', encoding='GBK', char_decode_errors='ignore', load=True)
print(table.records)
print(table.deleted)
引用文章: https://blog.csdn.net/jhui123456/article/details/108046201
直接使用dbf库操作dbf文件,直接读取所有行数据,可以根据dbf.is_deleted(record)查看当前行是否标记删除
import dbf
dfb_file = 'C:\\\\xxx.dbf'
file = dfb_file
tb = dbf.Table(dfb_file) # 创建tb实例
# print(tb) # 打印tb信息
titles = dbf.get_fields(file) # 将表头以列表形式打印出来
print(titles)
tb.open(mode=dbf.READ_WRITE) # 读写方式打开tb print('title_name=', title_name)
for record in tb:
value_list = []
deleted_status = dbf.is_deleted(record) # 查看当前行是否标记删除
print('deleted_status=', deleted_status)
with record as r:
for field in record:
value_list.append(field)
print('value_list=', value_list)
print(table.records)
就是一个保存了所有行信息的迭代器,如果要序列号那就按顺序取就好了,方法如下:
for line_num, data in enumerate(table.records):
print(line_num)
import sys
def line_file_test():
print(sys._getframe().f_lineno) # 获取当前行号(行数)
line_file_test()
【python 如何获取指定行的行号】【仅供参考】
我可以教你如何读取