Hướng dẫn read space delimited file python pandas - đọc tệp được phân cách bằng dấu cách python gấu trúc
Tôi cố gắng đọc tập tin vào gấu trúc. Tệp có các giá trị được phân tách bằng không gian, nhưng với số lượng không gian khác nhau tôi đã thử: Show
Nhưng nó không hoạt động
SMCI 30.6K18 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồng18 gold badges110 silver badges145 bronze badges Hỏi ngày 28 tháng 10 năm 2013 lúc 10:14Oct 28, 2013 at 10:14
1 Thêm đối số 3, nó nhanh hơn regex.Đã trả lời ngày 28 tháng 10 năm 2013 lúc 11:06Oct 28, 2013 at 11:06
HyryhyryHYRY 91.5K25 Huy hiệu vàng183 Huy hiệu bạc186 Huy hiệu đồng25 gold badges183 silver badges186 bronze badges 3 Bạn có thể sử dụng Regex làm dấu phân cách:
Đã trả lời ngày 28 tháng 10 năm 2013 lúc 10:16Oct 28, 2013 at 10:16 3 Nếu bạn không thể phân tích cú pháp văn bản để sử dụng câu trả lời được chấp nhận (ví dụ: nếu tệp văn bản của bạn chứa các hàng không đồng nhất) thì đáng để thử với thư viện CSV của Python - đây là một ví dụ sử dụng phương ngữ do người dùng xác định:
Đã trả lời ngày 21 tháng 5 năm 2020 lúc 21:05May 21, 2020 at 21:05
PierzpierzPierz 5.90843 Huy hiệu bạc57 Huy hiệu đồng43 silver badges57 bronze badges 2 Dung dịchHãy xem xét tệp được phân phối không gian sau được gọi là 4: 5 6 7Để đọc tệp này bằng 8: 5 0 7Xử lý các tệp bị dị tật với không gian biếnHãy xem xét tệp được phân phối không gian sau được gọi là 4: 5 4 7Để đọc tệp này bằng 8:Xử lý các tệp bị dị tật với không gian biến 5 8 7 Nếu df = pd.read_csv('data', sep = r '\s{2,}') trong đó sử dụng mẫu regex df = pd.read_csv('data', sep = r '\s{2,}')2 làm dấu phân cách. Regex này phù hợp với các ký tự khoảng trắng 2-hoặc nhiều hơn. In[8]: df Out[8]: SICcode Catcode Category SICname\ 0 111 A1500 Wheat, corn, soybeans and cash grain Wheat 1 112 A1600 Other commodities(incl rice, peanuts) Rice 2 115 A1500 Wheat, corn, soybeans and cash grain Corn 3 116 A1500 Wheat, corn, soybeans and cash grain Soybeans 4 119 A1500 Wheat, corn, soybeans and cash grain Cash grains, NEC 5 131 A1100 Cotton Cotton 6 132 A1300 Tobacco & Tobacco products Tobacco MultSIC 0 X 1 X 2 X 3 X 4 X 5 X 6 X Tôi nghĩ rằng bạn có thể thử thêm df = pd.read_csv('data', sep = r '\s{2,}')3 vào df = pd.read_csv('data', sep = r '\s{2,}')4 nếu dữ liệu trong df = pd.read_csv('data', sep = r '\s{2,}')5 được phân tách bằng df = pd.read_csv('data', sep = r '\s{2,}')6. import pandas as pd df = pd.read_csv('test/a.csv', sep = "\t") print df SICcode Catcode Category SICname\ 0 111 A1500 Wheat, corn, soybeans and cash grain Wheat 1 112 A1600 ther commodities(incl rice, peanuts) Rice 2 115 A1500 Wheat, corn, soybeans and cash grain Corn 3 116 A1500 Wheat, corn, soybeans and cash grain Soybeans 4 119 A1500 Wheat, corn, soybeans and cash grain Cash grains, NEC 5 131 A1100 Cotton Cotton 6 132 A1300 Tobacco & Tobacco products Tobacco MultSIC 0 X 1 X 2 X 3 X 4 X 5 X 6 X Gợi ý: 2 Chỉ định liệu khoảng trắng có hay không (ví dụ: '' hoặc '& nbsp; & nbsp; & nbsp;') sẽ được sử dụng làm sep. Tương đương với cài đặt sep = '\ s+'. Nếu tùy chọn này được đặt thành TRUE, không có gì được truyền cho tham số Delimiter., Nếu đúng và parse_dates được bật, gấu trúc sẽ cố gắng suy ra định dạng của các chuỗi DateTime trong các cột và nếu nó có thể được suy ra, hãy chuyển sang chuyển sang một phương pháp phân tích nhanh hơn để phân tích chúng. Trong một số trường hợp, điều này có thể tăng tốc độ phân tích cú pháp thêm 5-10 lần., Cho dù có bao gồm các giá trị NAN mặc định hay không khi phân tích dữ liệu. Tùy thuộc vào việc NA_Values được truyền vào, hành vi như sau:, Các dòng có quá nhiều trường (ví dụ: dòng CSV có quá nhiều dấu phẩy) theo mặc định sẽ gây ra ngoại lệ và không có dữ liệu nào được trả về. Nếu sai, thì những dòng xấu của người Viking này sẽ bị loại khỏi khung dữ liệu được trả về. >>> pd.read_csv('data.csv') Gợi ý: 3 Như chúng ta đã thấy trong ví dụ ở trên, rằng chúng ta có thể vượt qua các dấu phân cách tùy chỉnh. Bây giờ giả sử chúng ta có một tệp trong đó các cột được phân tách bằng không gian trắng hoặc tab, tức là nội dung của tệp user_4.csv, giả sử chúng ta có một tệp trong đó nhiều trình phân cách char được sử dụng thay vì một tệp duy nhất. Giống như ,, giả sử chúng ta có một tệp ‘user.csv‘ trong đó các cột được phân tách bằng chuỗi ‘__, như thế này. Nội dung của file user.csv như sau, trong bài viết này, chúng tôi sẽ thảo luận về cách đọc tệp CSV với loại phân cách khác nhau với DataFrame. Thư viện Python sườn Pandas cung cấp một chức năng để tải tệp CSV vào DataFrame, tức là. pandas.read_csv(filepath_or_buffer, sep = ', ', delimiter = None, header = 'infer', names = None, index_col = None, ....) Để sử dụng pandas.read_csv () Nhập mô -đun pandas, tức là. Giả sử chúng ta có một tệp ‘user.csv‘ trong đó các cột được phân tách bằng chuỗi ‘__, như thế này. Nội dung của tệp user.csv như sau,users.csv‘ in which columns are
separated by string ‘__’ like this. Name__Age__City jack__34__Sydeny Riti__31__Delhi Aadi__16__New York Suse__32__Lucknow Mark__33__Las vegas Suri__35__Patna Gợi ý: 4 Chúng tôi sẽ đọc trong tệp SN7577.TAB của chúng tôi. Mặc dù đây là tệp được phân định tab, chúng tôi vẫn sẽ sử dụng phương thức Pandas Read_CSV, nhưng chúng tôi sẽ nói rõ phương thức rằng dấu phân cách là ký tự tab chứ không phải là dấu phẩy mặc định. read_csv để đọc dữ liệu bảng vào Python, cho các ví dụ của chúng tôi trong tập này, chúng tôi sẽ sử dụng tệp sn7577.tab. Điều này có sẵn để tải xuống tại đây và mô tả của tệp có sẵn tại đây df_SN7577 = pd.read_csv("SN7577.tab", sep = '\t') 0 1Gợi ý: 5 Tôi cố gắng đọc tập tin vào gấu trúc. Tệp có các giá trị được phân tách bằng không gian, nhưng với số lượng không gian khác nhau tôi đã thử :, 6 ngày trước Pandas: Cách đọc tệp với các giá trị tách biệt không gian trong gấu trúc [Làm đẹp máy tính của bạn: https://www.hows.tech/p/ Được đề xuất.html] Pandas: Cách đọc f ..., 2 ngày trước đã chấp nhận câu trả lời. Dòng ban đầu của bạn: pd.read_csv (tên tệp, sep = '', header = none) đã chỉ định phân tách dưới dạng một không gian, bởi vì CSV của bạn có thể có khoảng trắng hoặc tab bạn có thể chuyển biểu thức thông thường đến thông số SEP như SO: PD .read_csv (filename, sep='\s+',header=None) , 1 week ago PYTHON : How to read file with space separated values in pandas [ Gift : Animated Search Engine : https://bit.ly/AnimSearch ] PYTHON : Cách đọc tệp với ... 2Làm thế nào để bạn đọc một tệp văn bản phân tách không gian trong Python?Đọc không gian tệp văn bản phân tách thành danh sách trong câu trả lời mã Python.. với mở ('file1.txt', 'r+') như f:. dòng = f.đọc().splitlines (). print(lines). Làm cách nào để đọc một tệp được phân định trong gấu trúc?Chúng ta có thể đọc dữ liệu từ một tệp văn bản bằng read_table () trong gấu trúc.Hàm này đọc một tệp phân định chung đến một đối tượng DataFrame.Hàm này về cơ bản giống như hàm read_csv () nhưng với delimiter = '\ t', thay vì dấu phẩy theo mặc định.read_table() in pandas. This function reads a general delimited file to a DataFrame object. This function is essentially the same as the read_csv() function but with the delimiter = '\t', instead of a comma by default.
Làm cách nào để loại bỏ một khoảng trống trong gấu trúc?Pandas cung cấp phương thức xác định trước pandas.series.str.strip () để loại bỏ khoảng trắng khỏi chuỗi.pandas. Series. str. strip()” to remove the whitespace from the string.
Phân phối trong gandas read_csv là gì?read_csv (filepath_or_buffer, sep = ',', delimiter = none, header = 'infress', name = none, index_col = none, ....) Nó đọc nội dung của tệp CSV tại đường dẫn đã cho, sau đó tải nội dung vàomột khung dữ liệu và trả về điều đó.Nó sử dụng dấu phẩy (,) làm dấu phân cách mặc định hoặc dấu phân cách trong khi phân tích tệp.comma (,) as default delimiter or separator while parsing a file. |