Đọc tệp DBF Python

DBF là định dạng được tạo bởi ứng dụng cơ sở dữ liệu lâu đời dBase. Đây là định dạng tệp phổ biến cho dữ liệu được tạo từ các hệ thống cũ

Giải pháp

Các tệp DBF phải được chuyển đổi thành CSV trước khi được nhập vào PANDA

Nếu bạn không phải là lập trình viên, bạn có thể mở tệp DBF bằng LibreOffice. Sau khi mở, chỉ cần chọn Lưu dưới dạng từ menu Tệp, sau đó chọn "Văn bản CSV" làm loại tệp. Nếu được nhắc với các tùy chọn nâng cao (dấu phân cách, v.v. ) bạn có thể đặt chúng ở chế độ mặc định

Ghi chú. Excel không thể mở tệp DBF

Nếu bạn là một lập trình viên hoặc cảm thấy thoải mái khi sử dụng dòng lệnh thì phương pháp nhanh hơn là sử dụng in2csv từ bộ công cụ dòng lệnh csvkit. Điều này sẽ đọc tệp DBF và ghi tệp CSV

in2csv filename.dbf > filename.csv

Ghi chú. Bất cứ khi nào chuyển đổi tệp để nhập tệp vào PANDA, bạn cũng nên tải tệp gốc lên dưới dạng tệp có liên quan

Cám ơn vì sự gợi ý. Tôi đã thử tạo một kịch bản. py với nhập sys và sys. con đường. nối và nhập simpledbf  rồi đặt nó vào thư mục gốc của dự án, sau đó khởi động lại city Engine.  

Thật không may, nó vẫn đưa ra lỗi tương tự khi thực thi cho simpledbf. Tôi cũng đã thử làm myHelper. py và nó cũng không hoạt động (có lẽ giải pháp này dành cho bảng điều khiển Python chứ không phải dành cho tập lệnh. )

Tôi cũng đã thử di chuyển simpledbf vào thư mục tập lệnh của dự án của mình. Không may mắn

Giải pháp cuối cùng

Trong tập lệnh python của tôi,

Tôi đã thêm các dòng -

import sys

sys.path.append (with the path being my project scripts directory)

from simpledbf import Dbf5

Và sau đó tôi đặt simpledbf. py trong thư mục script đó.  

Điều này đã làm việc - tôi có thể đọc các giá trị truy vấn và DBF

Theo như Fiona - tôi muốn sử dụng nó, thật không may, con trăn của City Engine đang sử dụng Jython 2. 7 trong khi Fiona yêu cầu Python 3

dbfpy là một mô-đun chỉ dành cho python để đọc và ghi các tệp DBF. Nó được tạo ra bởi Jeff Kunce và sau đó được sửa đổi bởi Hans Fiby

mã mô-đun dbfpy đã được đặt trong phạm vi công cộng

dbfpy là gì?

dbfpy có thể đọc và ghi các tệp DBF đơn giản. Định dạng DBF được phát triển khoảng 30 năm trước và được sử dụng bởi một số ứng dụng cơ sở dữ liệu đơn giản (dBase, Foxpro, Clipper,. ). Các kiểu dữ liệu cơ bản số, văn bản ngắn và ngày có sẵn. Nhiều phần mở rộng khác nhau đã được sử dụng;

Nó dùng để làm gì?

  • Công dụng quan trọng nhất là đọc các tệp DBF cũ được tạo bởi các chương trình khác
  • Các tệp DBF có thể được nhập bởi hầu hết các chương trình xử lý dữ liệu dạng bảng như Excel, Access, v.v. Nếu bạn muốn tạo dữ liệu dạng bảng để nhập vào các chương trình này từ tập lệnh python dbfpy sẽ là một tùy chọn
  • Một số chương trình gần đây vẫn sử dụng dbf để lưu trữ dữ liệu. Ứng dụng GIS ArcView là một trong số đó

Không sử dụng dbfpy

nếu bạn cần lưu trữ dữ liệu để sử dụng nội bộ trong chương trình python. dbfpy không cung cấp bất kỳ tính năng nào của ứng dụng cơ sở dữ liệu hiện đại. Sử dụng hệ thống cơ sở dữ liệu như PostgreSQL, Oracle hoặc MySQL để lưu trữ dữ liệu hàng ngày. Dùng SQLite nếu bạn muốn nhẹ

DBF là định dạng tệp được sử dụng bởi các cơ sở dữ liệu như dBase, Visual FoxPro và FoxBase+. Thư viện này đọc các tệp DBF và trả về dữ liệu dưới dạng kiểu dữ liệu Python gốc để xử lý thêm. Nó chủ yếu dành cho các công việc hàng loạt và các tập lệnh một lần

>>> from dbfread import DBF
>>> for record in DBF('people.dbf'):
..     print(record)
OrderedDict([('NAME', 'Alice'), ('BIRTHDATE', datetime.date(1987, 3, 1))])
OrderedDict([('NAME', 'Bob'), ('BIRTHDATE', datetime.date(1980, 11, 12))])

Theo mặc định, các bản ghi được truyền trực tiếp từ tệp. Nếu bạn có đủ bộ nhớ, thay vào đó, bạn có thể tải chúng vào danh sách. Điều này cho phép truy cập ngẫu nhiên

>>> table = DBF('people.dbf', load=True)
>>> print(table.records[1]['NAME'])
Bob
>>> print(table.records[0]['NAME'])
Alice

Tài liệu đầy đủ tại https. //dbfread. đọcthedocs. io/

Xem tài liệu/thay đổi. đầu tiên để biết danh sách đầy đủ các thay đổi trong mỗi phiên bản

Những đặc điểm chính

  • được viết cho Python 3, nhưng cũng hoạt động trong 2. 7

  • API đơn giản nhưng linh hoạt

  • dữ liệu được trả về dưới dạng kiểu dữ liệu Python gốc

  • bản ghi là từ điển được sắp xếp, nhưng có thể được cấu hình lại thành bất kỳ loại nào

  • nhằm mục đích xử lý tất cả các biến thể của tệp DBF. (Hiện chỉ được thử nghiệm rộng rãi với Visual FoxPro, nhưng sẽ hoạt động tốt với các biến thể khác. )

  • hỗ trợ cho 18 loại trường. Các loại tùy chỉnh có thể được thêm bằng cách phân lớp FieldParser

  • đọc các tệp ghi nhớ FPT và DBT, cả dữ liệu văn bản và dữ liệu nhị phân

  • xử lý tên tệp trường hợp hỗn hợp một cách duyên dáng trên hệ thống tệp phân biệt chữ hoa chữ thường

  • có thể truy xuất hồ sơ đã xóa

cài đặt

Yêu cầu Python 3. 2 hoặc 2. 7

pip install dbfread

dbfread là một mô-đun Python thuần túy và không phụ thuộc vào bất kỳ gói nào bên ngoài thư viện chuẩn

Để xây dựng tài liệu tại địa phương

python setup.py docs

Điều này đòi hỏi Nhân sư. Các tệp kết quả có thể được tìm thấy trong docs/_build/

Mã nguồn

Bản phát hành ổn định mới nhất. http. //github. com/olemb/dbfread/

phiên bản phát triển. http. //github. com/olemb/dbfread/tree/develop/

Thay đổi API

dbfread. mở() và dbfread. read() không được dùng nữa kể từ phiên bản 2. 0 và sẽ bị xóa sau 2. 2

Lớp DBF không còn là lớp con của danh sách. Điều này làm cho API sạch hơn và dễ hiểu hơn, nhưng mã cũ dựa trên hành vi này sẽ bị hỏng. Lặp lại và đếm bản ghi hoạt động giống như trước đây. Các hoạt động danh sách khác có thể được viết lại bằng thuộc tính bản ghi. Ví dụ

table = dbfread.read('people.dbf')
print(table[1])

có thể được viết lại như

table = DBF('people.dbf', load=True)
print(table.records[1])

open() và read() đều trả về DeprecatedDBF, là lớp con của DBF và danh sách, do đó tương thích ngược

Làm cách nào tôi có thể đọc tệp DBF?

Nhấp đúp vào tên tệp . Các. tệp dbf bây giờ sẽ mở trong Excel.

Làm cách nào để cài đặt Dbfread trong Python?

Hiển thị hoạt động trên bài đăng này. .
Mở Dấu nhắc lệnh
Bạn nên thử $ pip cài đặt dbfread
nếu nó không làm việc có được. tập tin whl từ đây

Những chương trình nào có thể đọc tệp DBF?

Các chương trình mở tệp DBF .
dBase
Microsoft Access 365
Excel 365
Microsoft Visual FoxPro
CorelQuattroPro 2021
Cơ sở OpenOffice
Trình xem DBF nhóm HiBase 2000
Trình quản lý DBF của Astersoft

Excel có thể mở tệp dBase không?

Excel mở tệp và tự động định dạng các trường dBase thành các cột bảng tính riêng biệt với các tiêu đề được tạo từ tên trường dBase. Lưu ý rằng mặc dù Excel có thể mở tệp DBF nhưng không thể lưu tệp ở định dạng đó.