簡體   English   中英

如何在python中將選定的數據從一列移動到另一列

[英]How to move selected data from one column to another in python

我正在閱讀一個包含兩列的 CSV 文件:大陸、國家。 每個大陸下的單元格都是空的。

Continent    |  Countries
-----------------------------
    Asia       |   China
               |   Japan
               |   Korea
    North Am.  |   Canada
               |   U.S.

但我想在 Continent 列下合並這兩列並有一個縮進。

Continent
-----------
Asia 
    China
    Japan
    Korea
North America
    Canada
    U.S.

我怎樣才能使用python做到這一點?

下面的代碼應該可以解決問題。 您甚至不需要使用 pandas 來讀取 CSV,因為 Python 已經有一個名為csv的標准模塊。 代碼輸出到另一個名為output.csv的 CSV。

import csv

continent = ''
with open('data.csv') as csv_in, open('output.csv', 'w') as csv_out:
    reader = csv.reader(csv_in)
    writer = csv.writer(csv_out)
    headers = next(reader, None) # skip the headers
    writer.writerow([headers[0]])
    for row in reader:
        prev_continent = continent
        continent = row[0].strip() or continent

        if prev_continent != continent:
          writer.writerow([continent])
        writer.writerow([f'    {row[1]}'])

輸出.csv

Continent
Asia
    China
    Japan
    Korea
North Am.
    Canada
    U.S.

數據.csv

Continent,Countries
Asia     ,China
         ,Japan
         ,Korea
North Am.,Canada
         ,U.S.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM