Hướng dẫn how do i convert a text file to html in python? - Làm cách nào để chuyển đổi tệp văn bản sang html trong python?

12

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một tệp văn bản chứa:

JavaScript              0
/AA                     0
OpenAction              1
AcroForm                0
JBIG2Decode             0
RichMedia               0
Launch                  0
Colors>2^24             0
uri                     0

Tôi đã viết mã này để chuyển đổi tệp văn bản thành HTML:

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")

Nhưng vấn đề mà tôi gặp phải trong tệp HTML mà trong mỗi dòng không có khoảng trống giữa hai cột:

JavaScript 0
/AA 0
OpenAction 1
AcroForm 0
JBIG2Decode 0
RichMedia 0
Launch 0
Colors>2^24 0
uri 0 

Tôi nên làm gì để có cùng một nội dung và hai cột như trong tệp văn bản

Đã hỏi ngày 12 tháng 7 năm 2014 lúc 16:34Jul 12, 2014 at 16:34

Hướng dẫn how do i convert a text file to html in python? - Làm cách nào để chuyển đổi tệp văn bản sang html trong python?

2

Chỉ cần thay đổi mã của bạn để bao gồm các thẻ

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
1 và
contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
2 để đảm bảo rằng văn bản của bạn được định dạng theo cách bạn đã định dạng nó trong tệp văn bản gốc của bạn.

contents = open"C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
with open("suleiman.html", "w") as e:
    for lines in contents.readlines():
        e.write("<pre>" + lines + "</pre> <br>\n")

Đã trả lời ngày 12 tháng 7 năm 2014 lúc 16:45Jul 12, 2014 at 16:45

雨 雨 な 好き な な 人 人 人 人 人 人 人 人 人 人 人雨が好きな人

4213 Huy hiệu bạc14 Huy hiệu đồng3 silver badges14 bronze badges

3

Đây là HTML - sử dụng

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
3

from bs4 import BeautifulSoup

soup = BeautifulSoup()
body = soup.new_tag('body')
soup.insert(0, body)
table = soup.new_tag('table')
body.insert(0, table)

with open('path/to/input/file.txt') as infile:
    for line in infile:
        row = soup.new_tag('tr')
        col1, col2 = line.split()
        for coltext in (col2, col1): # important that you reverse order
            col = soup.new_tag('td')
            col.string = coltext
            row.insert(0, col)
        table.insert(len(table.contents), row)

with open('path/to/output/file.html', 'w') as outfile:
    outfile.write(soup.prettify())

Đã trả lời ngày 12 tháng 7 năm 2014 lúc 17:26Jul 12, 2014 at 17:26

Adam Smithadam SmithAdam Smith

49,8K11 Huy hiệu vàng70 Huy hiệu bạc109 Huy hiệu đồng11 gold badges70 silver badges109 bronze badges

Đó là bởi vì các trình phân tích cú pháp HTML sụp đổ tất cả khoảng trắng. Có hai cách bạn có thể làm điều đó (có lẽ nhiều hơn nữa).

Người ta sẽ gắn cờ nó là "văn bản được định dạng trước" bằng cách đặt nó vào các thẻ

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
4.

Cái kia sẽ là một bảng (và đây là những gì một bảng được tạo ra):

<table>
  <tr><td>Javascript</td><td>0</td></tr>
  ...
</table>

Khá tẻ nhạt để gõ bằng tay, nhưng dễ dàng tạo ra từ kịch bản của bạn. Một cái gì đó như thế này nên hoạt động:

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
with open("suleiman.html", "w") as e:
    e.write("<table>\n")   
    for lines in contents.readlines():
        e.write("<tr><td>%s</td><td>%s</td></tr>\n"%lines.split())
    e.write("</table>\n")

Đã trả lời ngày 12 tháng 7 năm 2014 lúc 16:40Jul 12, 2014 at 16:40

Neilneilneil

3.1971 Huy hiệu vàng13 Huy hiệu bạc11 Huy hiệu đồng1 gold badge13 silver badges11 bronze badges

0

Bạn có thể sử dụng thư viện mẫu độc lập như

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
5 hoặc
contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
6. Đây là một ví dụ với Jinja:

from jinja2 import Template
c = '''<!doctype html>
<html>
<head>
    <title>My Title</title>
</head>
<body>
<table>
   <thead>
       <tr><th>Col 1</th><th>Col 2</th></tr>
   </thead>
   <tbody>
       {% for col1, col2 in lines %}
       <tr><td>{{ col 1}}</td><td>{{ col2 }}</td></tr>
       {% endfor %}
   </tbody>
</table>
</body>
</html>'''

t = Template(c)

lines = []

with open('yourfile.txt', 'r') as f:
    for line in f:
        lines.append(line.split())

with open('results.html', 'w') as f:
    f.write(t.render(lines=lines))

Nếu bạn không thể cài đặt

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
6, thì đây là một giải pháp thay thế:

header = '<!doctyle html><html><head><title>My Title</title></head><body>'
body = '<table><thead><tr><th>Col 1</th><th>Col 2</th></tr>'
footer = '</table></body></html>'

with open('input.txt', 'r') as input, open('output.html', 'w') as output:
   output.writeln(header)
   output.writeln(body)
   for line in input:
       col1, col2 = line.rstrip().split()
       output.write('<tr><td>{}</td><td>{}</td></tr>\n'.format(col1, col2))
   output.write(footer)

Đã trả lời ngày 12 tháng 7 năm 2014 lúc 17:03Jul 12, 2014 at 17:03

Burhan Khalidburhan KhalidBurhan Khalid

165K18 Huy hiệu vàng238 Huy hiệu bạc276 Huy hiệu Đồng18 gold badges238 silver badges276 bronze badges

I have added title, looping here line by line and appending each line on < tr > and < td > tags, it is should work as single table without column. No need to use these tags(< tr >< /tr > and < td >< /td >[gave a spaces for readability]) for col1 and col2.

Nhật ký: Snippet:

Trang Muthu

2019/08/19 19:59:25 Muthukumar_time_date, dòng: 118 Thông tin | Đối tượng logger được tạo cho: Muthukumar_app_user_signup_log 2019/08/19 19:59:25 Muthukumar_db_user_sign_up, dòng: 48 Thông tin | ***** Trang đăng ký người dùng Bắt đầu ***** 2019/08/19 19:59:25 Muthukumar_db_user_sign_up, dòng: 49 Thông tin | Nhập tên đầu tiên: [Chỉ được phép ký tự bảng chữ cái, tối thiểu 3 ký tự tối đa 20 chracter]

Trang nguồn HTML:

'' '

<?xml version="1.0" encoding="utf-8"?>
<body>
 <table>
  <p>
   MUTHU PAGE
  </p>
  <tr>
   <td>
    2019/08/19 19:59:25 MUTHUKUMAR_TIME_DATE,line: 118     INFO | Logger object created for: MUTHUKUMAR_APP_USER_SIGNUP_LOG
   </td>
  </tr>
  <tr>
   <td>
    2019/08/19 19:59:25 MUTHUKUMAR_DB_USER_SIGN_UP,line: 48     INFO | ***** User SIGNUP page start *****
   </td>
  </tr>
  <tr>
   <td>
    2019/08/19 19:59:25 MUTHUKUMAR_DB_USER_SIGN_UP,line: 49     INFO | Enter first name: [Alphabet character only allowed, minimum 3 character to maximum 20 chracter]

'' '

CODE:

contents = open("C:\\Users\\Suleiman JK\\Desktop\\Static_hash\\test","r")
    with open("suleiman.html", "w") as e:
        for lines in contents.readlines():
            e.write(lines + "<br>\n")
0

Đã trả lời ngày 21 tháng 8 năm 2019 lúc 16:06Aug 21, 2019 at 16:06

Làm cách nào để chuyển đổi tệp TXT thành HTML?

Cách chuyển đổi TXT thành HTML..
Tải lên (các) FILE (S) Chọn các tệp từ Máy tính, Google Drive, Dropbox, URL hoặc bằng cách kéo nó trên trang ..
Chọn "To HTML" Chọn HTML hoặc bất kỳ định dạng nào khác bạn cần do kết quả (hơn 200 định dạng được hỗ trợ).
Tải xuống HTML của bạn ..

Python có thể tạo ra HTML không?

Python không đi kèm với các công cụ để tạo HTML.Nếu bạn muốn có một khung nâng cao cho thế hệ HTML có cấu trúc, tôi khuyên bạn nên sử dụng HTMLGEN 2.2 của Robin Friedrich (có sẵn tại http://starship.python.net/crew/friedrich/htmlgen/html/main.html), nhưng tôi không bao gồm góitrong cuốn sách này.. If you want an advanced framework for structured HTML generation, I recommend Robin Friedrich's HTMLGen 2.2 (available at http://starship.python.net/crew/friedrich/HTMLgen/html/main.html), but I do not cover the package in this book.

Làm cách nào để lưu tệp Python dưới dạng HTML?

Làm thế nào để lưu trang HTML trong mã Python..
Nhập Urllib.Yêu cầu, Urllib.Lỗi, Urllib.phân tích cú pháp ..
url = "URL của trang bạn muốn tải xuống".
Phản hồi = Urllib.lời yêu cầu.Urlopen (URL).

Làm cách nào để chuyển đổi tệp thành HTML?

Cách sử dụng bộ chuyển đổi tài liệu..
Bước 1 - Tải lên tệp tài liệu.Chọn một tệp tài liệu từ máy tính của bạn bằng hàm duyệt ..
Bước 2 - Chọn HTML.Chọn .Định dạng đích HTML.Chúng tôi hỗ trợ hầu hết các định dạng tài liệu ..
Bước 3 - Tải xuống tệp HTML đã chuyển đổi của bạn.Tải xuống tệp HTML đã chuyển đổi của bạn ngay lập tức ..