Hướng dẫn python read csv with different delimiter - python đọc csv với dấu phân cách khác nhau
Show
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 các 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, ....) Nó đọc nội dung của tệp CSV tại đường dẫn đã cho, sau đó tải nội dung vào DataFrame và trả về điều đó. Nhưng chúng tôi cũng có thể chỉ định phân tách tùy chỉnh hoặc biểu thức thông thường được sử dụng làm dấu phân cách tùy chỉnh. Để sử dụng pandas.read_csv () Nhập mô -đun pandas, tức là. import pandas as pd Sử dụng read_csv () với dấu phân cách tùy chỉnhGiả 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 Bây giờ để tải loại tệp này vào đối tượng DataFrame bằng pandas.read_csv (), chúng ta phải chuyển các đối số SEP & Engine cho pandas.read_csv (), tức là.sep & engine arguments to pandas.read_csv() i.e. # Read a csv file to a dataframe with custom delimiter usersDf = pd.read_csv('users.csv', sep='__' , engine='python') print('Contents of Dataframe : ') print(usersDf) Đầu ra: Contents of Dataframe : Name Age City 0 jack 34 Sydeny 1 Riti 31 Delhi 2 Aadi 16 New York 3 Suse 32 Lucknow 4 Mark 33 Las vegas 5 Suri 35 Patna Ở đây, đối số SEP sẽ được sử dụng làm dấu phân cách hoặc dấu phân cách. Nếu đối số SEP không được chỉ định thì động cơ mặc định để phân tích cú pháp (động cơ c) sẽ được sử dụng để sử dụng ',' làm dấu phân cách. & NBSP; Nhận cảnh báo như thế này,sep argument will be used as separator or delimiter. If sep argument is not specified then default engine for parsing ( C Engine) will be used which uses ‘,’ as delimiter. So, while specifying the custom sep argument we must specify the engine argument as ‘python’, otherwise we will get warning like this, ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\s+' are interpreted as regex); Bạn có thể tránh cảnh báo này bằng cách chỉ định động cơ = xông Python.engine=’python’. Quảng cáo Sử dụng read_csv () với khoảng trắng hoặc tab làm dấu phân cáchNhư 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 là, Name Age City jack 34 Sydeny Riti 31 Delhi Bây giờ, để tải loại tệp này vào DataFrame với pandas.read_csv () Pass ‘\ s+, làm dấu phân cách. Ở đây \ S+ có nghĩa là bất kỳ một hoặc nhiều ký tự không gian trắng.‘\s+’ as separator. Here \s+ means any one or more white space character. # Read a csv file to a dataframe with delimiter as space or tab usersDf = pd.read_csv('users_4.csv', sep='\s+', engine='python') print('Contents of Dataframe : ') print(usersDf) Nội dung của DataFrame được trả về, *** Using pandas.read_csv() with space or tab as delimiters *** Contents of Dataframe : Name Age City 0 jack 34 Sydeny 1 Riti 31 Delhi Sử dụng read_csv () với biểu thức thông thường cho các dấu phân cáchGiả 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, Nội dung của tệp user_5.csv là,users_5.csv are, Name,Age|City jack,34_Sydeny Riti:31,Delhi Aadi,16:New York Suse,32:Lucknow Mark,33,Las vegas Suri,35:Patna Bây giờ, để tải loại tệp này vào DataFrame với read_csv () vượt qua một biểu thức chính quy, tức là '[:, | _]' trong đối số SEP. phân tách tức là import pandas as pd0 Đầu ra: Contents of Dataframe : Name Age City 0 jack 34 Sydeny 1 Riti 31 Delhi 2 Aadi 16 New York 3 Suse 32 Lucknow 4 Mark 33 Las vegas 5 Suri 35 Patna Ở đây, đối số SEP sẽ được sử dụng làm dấu phân cách hoặc dấu phân cách. Nếu đối số SEP không được chỉ định thì động cơ mặc định để phân tích cú pháp (động cơ c) sẽ được sử dụng để sử dụng ',' làm dấu phân cách. & NBSP; Nhận cảnh báo như thế này, import pandas as pd2 Output: Bạn có thể tránh cảnh báo này bằng cách chỉ định động cơ = xông Python.Làm cách nào để đọc tệp CSV trong một dấu phân cách khác?Dưới đây là các bước bạn nên làm theo: Mở CSV của bạn bằng Trình chỉnh sửa văn bản.SKIP Một dòng ở trên cùng và thêm SEP =; Nếu dấu phân cách được sử dụng trong CSV là dấu chấm phẩy (;) hoặc sep =, nếu dấu phân cách là dấu phẩy (,). Lưu và mở lại tệp.Open your CSV using a text editor. Skip a line at the top, and add sep=; if the separator used in the CSV is a semicolon (;), or sep=, if the separator is a comma (,). Save, and re-open the file.
Làm cách nào để thay đổi phân định của tệp CSV trong Python?Cách thay đổi dấu phân cách trong tệp CSV.. Tạo một tệp Python mới ở vị trí lưu tệp CSV của bạn. .... Mở một ví dụ nhắc nhở Anaconda. .... Nhập Python Change_delimiter.py (thay đổi thay đổi_delimiter.py bằng tên của tệp python của bạn) sau đó nhấn enter .. Làm cách nào để đọc tệp CSV bằng cách sử dụng Delimiter trong Python?Đọc một tệp CSV bằng Python.. Sử dụng thư viện CSV.Nhập CSV với Open ("./ Bwq.csv", 'r') dưới dạng tệp: csvreader = csv.reader (tệp) cho hàng trong csvreader: in (hàng) ở đây chúng tôi đang nhập thư viện CSV để sử dụng..... Sử dụng thư viện Pandas.Nhập gấu trúc dưới dạng dữ liệu PD = pd.Read_CSV ("BWQ.CSV") dữ liệu .. Làm thế nào để nhiều người phân định hoạt động trong gấu trúc?Làm thế nào để bạn chia tách theo dấu phân cách trong gấu trúc?Chia cột theo dấu phân cách thành nhiều cột Áp dụng chức năng Pandas Series str.Split () trên cột Địa chỉ của Google và chuyển dấu phân cách (dấu phẩy trong trường hợp này) mà bạn muốn phân chia cột.Ngoài ra, hãy đảm bảo vượt qua đúng với tham số mở rộng.Apply the pandas series str. split() function on the “Address” column and pass the delimiter (comma in this case) on which you want to split the column. Also, make sure to pass True to the expand parameter. |