Đây là mã của tôi:
import fileinput
input_file = 'in.txt'
output = open['out.txt', 'w+']
for each_line in fileinput.input[input_file]:
output.write[x.strip[] for x in each_line.split[',']]
Tôi nhận được "mong đợi bộ đệm ký tự" là lỗi. Tôi không chắc cách tốt nhất để đi về điều này là gì? Tôi đang cố gắng loại bỏ tất cả các tab và không gian và thay thế chúng bằng dấu phẩy.
Chỉnh sửa: Forexample Dữ liệu của tôi trông giống như:
1 2335 mike
1 4089 doug
và tôi muốn biến nó thành
1,2335,mike noll
1,4089,doug funny
chỉnh sửa, tôi chỉ muốn xóa 2 khoảng trống đầu tiên trong 2 cột đầu tiên
Đã hỏi ngày 28 tháng 6 năm 2013 lúc 20:15Jun 28, 2013 at 20:15
Chủ tịchMeowchairmanmeowChairmanMeow
8232 Huy hiệu vàng10 Huy hiệu bạc12 Huy hiệu đồng2 gold badges10 silver badges12 bronze badges
1
1 2335 mike
1 4089 doug
2 không trả về một đối tượng máy phát [không phải là bộ đệm chuỗi được mong đợi bởi 1 2335 mike
1 4089 doug
3]Bạn có thể làm:
with open['out.txt', 'w+'] as output:
for each_line in fileinput.input[input_file]:
output.write["\n".join[x.strip[] for x in each_line.split[',']]]
Đã trả lời ngày 28 tháng 6 năm 2013 lúc 20:16Jun 28, 2013 at 20:16
Karthikrkarthikrkarthikr
94,6K25 Huy hiệu vàng191 Huy hiệu bạc186 Huy hiệu đồng25 gold badges191 silver badges186 bronze badges
1
Sử dụng
1 2335 mike
1 4089 doug
4 để tham gia danh sách vào một chuỗi và sau đó viết nó vào tệp.Trong mã của bạn, bạn thực sự chuyển một genExP sang
1 2335 mike
1 4089 doug
5.for each_line in fileinput.input[input_file]:
output.write[" ".join[x.strip[] for x in each_line.split[',']] +'\n']
Update:
with open['out.txt', 'w'] as f:
for line in fileinput.input['input.txt']:
line = line.split[None,2]
f.write[','.join[line]]
Đã trả lời ngày 28 tháng 6 năm 2013 lúc 20:17Jun 28, 2013 at 20:17
Ashwini Chaudharyashwini ChaudharyAshwini Chaudhary
237K56 Huy hiệu vàng449 Huy hiệu bạc498 Huy hiệu Đồng56 gold badges449 silver badges498 bronze badges
2
Chúng ta sẽ tìm hiểu về việc thêm không gian sau DOT hoặc dấu phẩy trong một chuỗi, sử dụng ngôn ngữ lập trình Python trong hướng dẫn này. & NBSP; Nó được sử dụng trong nhiều trường hợp như trong khi tạo phần mềm, ứng dụng web, trò chơi, v.v.
Ở đây, chúng tôi sẽ giải quyết vấn đề này bằng hai cách khác nhau. Đầu tiên, chúng ta sẽ học bằng phương thức thay thế [] và phương pháp thứ hai bằng cách sử dụng biểu thức thông thường [RE]. Bạn có thể đi qua với liên kết dưới đây; Nếu bạn không có ý tưởng về biểu thức thông thường. Python biểu hiện chính quyreplace[] method, and the second one using Regular Expression[re].
You can go through with the link below; if you
have no idea about Regular Expressions.
Python Regular Expression
Sử dụng phương thức thay thế []
Python có một hàm sẵn có gọi là thay thế [], thay thế tất cả các lần xuất hiện của một chuỗi con bằng một chuỗi mới. Chúng tôi sử dụng nó để thay thế một ký tự hoặc chuỗi phụ bằng một ký tự hoặc chuỗi con khác từ một chuỗi.
Syntax:
replace['character to replace','replacement',count]
Trong hàm thay thế [], tham số đầu tiên lấy ký tự hoặc chuỗi được thay thế, cái thứ hai là thay thế, tức là ký tự hoặc chuỗi mới để thay thế các ký tự cũ và số lần cuối cùng là tùy chọn, biểu thị số lần để thay thế ký tự hoặc chuỗi.
Để thêm không gian sau dấu chấm hoặc dấu phẩy bằng cách sử dụng thay thế [] trong python
Là đầu vào, chúng tôi lấy một chuỗi không chứa khoảng trống sau dấu chấm hoặc dấu phẩy trong biến ‘chuỗi. Sau đó, sử dụng thay thế [], chúng tôi sẽ thay thế dấu phẩy ‘, hay hoặc. [Dấu phẩy hoặc dấu chấm với một không gian] và lưu trữ nó trong biến. Cuối cùng, nó sẽ in đầu ra bằng cách thêm không gian sau dấu chấm hoặc dấu phẩy trong chuỗi.
string = "A text without space,after comma,and dot.To test,the output,in CodeSpeedy." s = string.replace[",",", "].replace[".",". "] print[s]
Output:
A text without space, after comma, and dot. To test, the output, in CodeSpeedy.
Sử dụng biểu thức chính quy [Re]
Python có một gói sẵn có ‘re, làm việc với biểu thức thông thường. Mô -đun RE được sử dụng để kiểm tra các mẫu tìm kiếm được chỉ định từ một chuỗi. Chúng ta cần nhập mô -đun RE lúc đầu trong Python cho việc này. Chúng tôi đang sử dụng ở đây Re. hàm sub [], trong đó phụ đại diện cho chuỗi con.‘re’ to work with regular expression. The module re is used to check specified search patterns from a string. We need to import the re module at first in Python for this.
We are using here re. sub[] function, where sub
represents sub-string.
Syntax:
re.sub[pattern, replace, string, count=0, flags=0]
Ở đây nếu không tìm thấy mẫu, chuỗi sẽ không được thay đổi. Nó trả về chuỗi, thay thế các trận đấu bằng chuỗi con đã cho. Trong re. Các tham số phụ Các tham số đếm và cờ [hai] là tùy chọn.
Để thêm không gian sau dấu chấm hoặc dấu phẩy bằng cách sử dụng biểu thức thông thường [Re]:
1 2335 mike
1 4089 doug
0Output:
A text without space, after comma, and dot. To test, the output, in CodeSpeedy.
Trong mã trên, trước tiên, chúng tôi sẽ nhập RE, sau đó lấy một đầu vào văn bản trong biến ‘chuỗi. Bây giờ trong re. sub [], [?
Tôi hy vọng bạn sẽ tìm thấy hướng dẫn này hữu ích.
Cảm ơn vì đã dành thời gian cho tôi.