You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将含长字符串的TXT文件解析为Pandas DataFrame的技术求助

Solution to Parse TXT into 2-Column Pandas DataFrame

Got it, let's work through this problem together. Even without seeing your exact TXT content, I'll base this on your description: you have pairs of lines where the first line in each pair is a long string (for Column 1), and the line directly below it is the corresponding string (for Column 2). We'll handle variable-length strings and edge cases like odd-numbered lines gracefully.

Step 1: Read and Clean the TXT File

First, we'll read all lines from your TXT file and filter out any empty lines (since these might mess up our pairing logic):

import pandas as pd

# Replace 'your_file.txt' with your actual file path
with open('your_file.txt', 'r', encoding='utf-8') as f:
    # Read all lines, strip extra whitespace, and filter out empty lines
    lines = [line.strip() for line in f.readlines() if line.strip()]

Step 2: Pair Lines into Columns

We'll split the cleaned lines into two lists:

  • Column 1: Every odd-positioned line (1st, 3rd, 5th... → using slice [::2])
  • Column 2: Every even-positioned line (2nd, 4th, 6th... → using slice [1::2])

We’ll also add a check to handle cases where there’s an unpaired line (e.g., total lines are odd):

# Split lines into two columns
col1 = lines[::2]
col2 = lines[1::2]

# If there's an extra unpaired line in col1, pad col2 with NaN to match length
if len(col1) > len(col2):
    col2.append(None)

Step 3: Create the Pandas DataFrame

Now we can convert these two lists into a DataFrame. Variable-length strings are totally fine here—Pandas handles them natively without any issues:

df = pd.DataFrame({
    'First Column': col1,
    'Second Column': col2
})

# Optional: Print the result to verify the output
print(df)

Example Output

If your TXT file had content like this:

This is a long string with variable length
Short matching string
Another extremely long string that's way longer than the previous one
Medium-length corresponding string
Lone unpaired string at the end

The resulting DataFrame would look like this:

First ColumnSecond Column
This is a long string with variable lengthShort matching string
Another extremely long string that's way longer than the previous oneMedium-length corresponding string
Lone unpaired string at the endNone

Key Notes

  • The encoding='utf-8' ensures we handle non-ASCII characters correctly (adjust to gbk or another encoding if your file uses it).
  • Filtering empty lines prevents accidental misalignment if your TXT has blank lines between pairs.
  • Padding with None (which becomes NaN in Pandas) ensures we don’t lose any data if there’s an unpaired line at the end of the file.

内容的提问来源于stack exchange,提问作者ShanZhengYang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:58:31