我正在閱讀一個包含兩列的 CSV 檔案:大陸、國家。每個大陸下的單元格都是空的。
Continent | Countries
-----------------------------
Asia | China
| Japan
| Korea
North Am. | Canada
| U.S.
但我想在 Continent 列下合并這兩列并有一個縮進。
Continent
-----------
Asia
China
Japan
Korea
North America
Canada
U.S.
我怎樣才能使用python做到這一點?
uj5u.com熱心網友回復:
下面的代碼應該可以解決問題。您甚至不需要使用 pandas 來讀取 CSV,因為 Python 已經有一個名為csv的標準模塊。代碼輸出到另一個名為output.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.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/495906.html
上一篇:減去上一行中的值以按主題創建新列
