Hướng dẫn how to convert string to csv file in python - cách chuyển đổi chuỗi thành tệp csv trong python

Xây dựng vấn đề

Cho một chuỗi python:

my_string = '''a,b,c
1,2,3
9,8,7'''

💬 Câu hỏi: Làm thế nào để chuyển đổi chuỗi thành tệp CSV trong Python?Question: How to convert the string to a CSV file in Python?

Đầu ra mong muốn là tệp CSV:

'my_file.csv':

a,b,c
1,2,3
9,8,7

Giải pháp python vani đơn giản

Để chuyển đổi chuỗi nhiều dòng với các giá trị được phân tách bằng dấu phẩy thành tệp CSV trong Python, chỉ cần ghi chuỗi vào một tệp (ví dụ: với tên

a,b,c
1,2,3
9,8,7
0) mà không cần sửa đổi thêm.

Điều này hoạt động nếu chuỗi đã ở định dạng CSV chính xác với các giá trị được phân tách bằng dấu phẩy.

Mã sau sử dụng hàm

a,b,c
1,2,3
9,8,7
1 và các hàm
a,b,c
1,2,3
9,8,7
2 để ghi chuỗi đa dòng vào một tệp mà không cần sửa đổi.

my_string = '''a,b,c
1,2,3
9,8,7'''

with open('my_file.csv', 'w') as out:
    out.write(my_string)

Kết quả là một tệp

a,b,c
1,2,3
9,8,7
0 với các nội dung sau:

a,b,c
1,2,3
9,8,7

Phân tích cú pháp và sửa đổi văn bản thành CSV

Chuỗi có thể không ở định dạng CSV chính xác.

Ví dụ: bạn có thể muốn chuyển đổi bất kỳ chuỗi nào sau đây thành tệp CSV, định dạng của họ chưa sẵn sàng để viết trực tiếp trong tệp được phân tách bằng dấu phẩy (CSV):

  1. Ví dụ 1:
    a,b,c
    1,2,3
    9,8,7
    4
    :
    a,b,c
    1,2,3
    9,8,7
    4
  2. Ví dụ 2:
    a,b,c
    1,2,3
    9,8,7
    5
    :
    a,b,c
    1,2,3
    9,8,7
    5
  3. Ví dụ 3:
    a,b,c
    1,2,3
    9,8,7
    6
    :
    a,b,c
    1,2,3
    9,8,7
    6

Để phân tích một chuỗi như vậy và sửa đổi nó trước khi ghi nó trong tệp ____10, bạn có thể sử dụng các phương thức

a,b,c
1,2,3
9,8,7
8 và
a,b,c
1,2,3
9,8,7
9 để đảm bảo rằng mỗi giá trị được phân tách bằng dấu phẩy và mỗi hàng có dòng riêng.

Hãy cùng đi qua từng ví dụ để xem cách phân tích chuỗi hiệu quả để đưa nó vào định dạng CSV:

ví dụ 1

# Example 1:
my_string = 'abc;123;987'

with open('my_file.csv', 'w') as out:
    lines = [','.join(line) for line in my_string.split(';')]
    my_string = '\n'.join(lines)
    out.write(my_string)

Tôi đã higlight hai dòng mã chuyển đổi chuỗi thành định dạng CSV.

  • Dòng được tô sáng đầu tiên sử dụng khả năng hiểu danh sách để tạo danh sách ba dòng, mỗi dòng xen kẽ với dấu phẩy.
  • Dòng được tô sáng thứ hai sử dụng chức năng
    my_string = '''a,b,c
    1,2,3
    9,8,7'''
    
    with open('my_file.csv', 'w') as out:
        out.write(my_string)
    
    0 để đưa chúng lại với định dạng CSV có thể được ghi vào tệp đầu ra.

Tệp đầu ra

a,b,c
1,2,3
9,8,7
0 chứa cùng văn bản được định dạng CSV:

a,b,c
1,2,3
9,8,7

Ví dụ 2

Ví dụ sau đây giống như đoạn mã trước đó, chỉ là các khoảng trống

my_string = '''a,b,c
1,2,3
9,8,7'''

with open('my_file.csv', 'w') as out:
    out.write(my_string)
2 trong chuỗi đầu vào phải được chuyển đổi thành các dòng mới để có được CSV cuối cùng:

# Example 2:
my_string = 'abc 123 987'

with open('my_file.csv', 'w') as out:
    lines = [','.join(line) for line in my_string.split(' ')]
    my_string = '\n'.join(lines)
    out.write(my_string)

Tệp đầu ra

a,b,c
1,2,3
9,8,7
0 chứa cùng văn bản được định dạng CSV:

a,b,c
1,2,3
9,8,7

Ví dụ 2

Ví dụ sau đây giống như đoạn mã trước đó, chỉ là các khoảng trống

my_string = '''a,b,c
1,2,3
9,8,7'''

with open('my_file.csv', 'w') as out:
    out.write(my_string)
2 trong chuỗi đầu vào phải được chuyển đổi thành các dòng mới để có được CSV cuối cùng:

Ví dụ 3

# Example 3:
my_string = 'a=b=c 1=2=3 9=8=7'

with open('my_file.csv', 'w') as out:
    my_string = my_string.replace('=', ',').replace(' ', '\n')
    out.write(my_string)

Nếu các giá trị được phân tách bằng dấu phẩy chưa được phân tách bằng dấu phẩy (ví dụ: chúng có thể là

my_string = '''a,b,c
1,2,3
9,8,7'''

with open('my_file.csv', 'w') as out:
    out.write(my_string)
4 được phân tách bằng bán nguyệt), bạn có thể sử dụng phương thức
a,b,c
1,2,3
9,8,7
8 để thay thế các ký hiệu phù hợp.

Điều này được hiển thị trong ví dụ sau:

Cảm ơn đã đọc bài viết này! Tôi đánh giá cao thời gian bạn đã học Python với tôi.

Bạn có thể tìm hiểu thêm về một thách thức mã hóa liên quan, tức là, chuyển đổi tệp my_string = '''a,b,c 1,2,3 9,8,7''' with open('my_file.csv', 'w') as out: out.write(my_string) 6 sang CSV trong Python, trong hướng dẫn blog Finxter này.

Nếu bạn quan tâm đến việc viết mã ngắn gọn hơn, vui lòng kiểm tra cuốn sách một lớp của tôi ở đây:

Hướng dẫn how to convert string to csv file in python - cách chuyển đổi chuỗi thành tệp csv trong python

Cuốn sách Python One-Liners: Master The Single Line đầu tiên!concise statements of useful functionality packed into a single line of code. You’ll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert.

Các lập trình viên Python sẽ cải thiện các kỹ năng khoa học máy tính của họ với các lớp lót hữu ích này.

Python One-Linerswill dạy bạn cách đọc và viết một bộ bài viết: Các câu nói ngắn gọn về chức năng hữu ích được đóng gói thành một dòng mã. Bạn sẽ học cách giải nén một cách có hệ thống và hiểu bất kỳ dòng mã Python nào và viết python được nén mạnh mẽ, mạnh mẽ như một chuyên gia.key computer science concepts and boost your coding and analytical skills. You’ll learn about advanced Python features such as list comprehension, slicing, lambda functions, regular expressions, map and reduce functions, and slice assignments.

Cuốn sách năm chương bao gồm (1) mẹo và thủ thuật, (2) biểu thức thông thường, (3) học máy, (4) chủ đề khoa học dữ liệu cốt lõi và (5) thuật toán hữu ích.

  • Giải thích chi tiết về một lớp lót giới thiệu các khái niệm khoa học máy tính quan trọng và tăng cường kỹ năng mã hóa và phân tích của bạn. Bạn có thể tìm hiểu về các tính năng Python nâng cao như hiểu danh sách, cắt lát, chức năng Lambda, biểu thức thông thường, bản đồ và giảm các chức năng và bài tập cắt lát.solve real-world problems, like using Boolean indexing to find cities with above-average pollution
  • Bạn cũng sẽ học cách:NumPy basics such as array, shape, axis, type, broadcasting, advanced indexing, slicing, sorting, searching, aggregating, and statistics
  • Tận dụng các cấu trúc dữ liệu để giải quyết các vấn đề trong thế giới thực, như sử dụng lập chỉ mục Boolean để tìm các thành phố có ô nhiễm trên trung bìnhstatistics of multidimensional data arrays and the K-Means algorithms for unsupervised learning
  • Sử dụng những điều cơ bản của Numpy như mảng, hình dạng, trục, loại, phát sóng, lập chỉ mục nâng cao, cắt lát, sắp xếp, tìm kiếm, tổng hợp và thống kêadvanced regular expressions using grouping and named groups, negative lookaheads, escaped characters, whitespaces, character sets (and negative characters sets), and greedy/nongreedy operators
  • Tính toán số liệu thống kê cơ bản của các mảng dữ liệu đa chiều và các thuật toán có nghĩa K để học tập không giám sátcomputer science topics, including anagrams, palindromes, supersets, permutations, factorials, prime numbers, Fibonacci numbers, obfuscation, searching, and algorithmic sorting

Tạo các biểu thức chính quy nâng cao hơn bằng cách sử dụng nhóm nhóm và các nhóm được đặt tên, Lookahead tiêu cực, ký tự thoát, không gian trắng, bộ ký tự (và bộ ký tự tiêu cực) và các toán tử tham lam/nongreedywrite Python at its most refined, and create concise, beautiful pieces of “Python art” in merely a single line.

Hiểu được một loạt các chủ đề khoa học máy tính, bao gồm các phương pháp, palindromes, supersets, hoán vị, giai thừa, số nguyên tố, số fibonacci, obfuscation, tìm kiếm và phân loại thuật toán

Hướng dẫn how to convert string to csv file in python - cách chuyển đổi chuỗi thành tệp csv trong python

Đến cuối cuốn sách, bạn sẽ biết cách viết Python ở tinh tế nhất và tạo ra những tác phẩm nghệ thuật Python Python ngắn gọn, đẹp đẽ chỉ trong một dòng.

Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer (Nostarch 2020), đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới.

Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây.

Làm thế nào tạo tệp CSV trong Python?

Viết một CSV vào một từ điển..
Nhập CSV ..
với mở ('python.csv', mode = 'w') là csv_file:.
FieldNames = ['emp_name', 'dept', 'spirit_month'].
writer = csv.dictwriter (csv_file, fieldNames = fieldNames).
writer.writeheader().
writer.writerow ({'emp_name': 'parker', 'dept': 'kế toán', 'spirit_month': 'tháng 11'}).

Chúng ta có thể chuyển đổi chuỗi thành liệt kê trong Python không?

Chuỗi Python là một chuỗi các ký tự.Chúng ta có thể chuyển đổi nó thành danh sách các ký tự bằng hàm tích hợp danh sách ().We can convert it to the list of characters using list() built-in function.