![](/img/trans.png)
[英]Python csv_writer: Change the output format of a oracle date column
[英]Python: csv_writer writing 1 number in separate cells problem
我已經構建了一個簡單的網絡爬蟲,可以從給定城市名稱的網站獲取人口。 output 采用字符串格式:“City, State | Data USA Population”
例如,為 New Smyrna Beach 運行 print(search.text) 會返回字符串:
佛羅里達州新士麥那海灘 | 數據 美國 25,770
我希望程序將其寫在 csv 文件中,但是當我希望在一個單元格中時,該數字被分成多列。 似乎根本沒有寫“新士麥那海灘,佛羅里達州 | Data USA”,為什么?
這是我編寫 csv 的代碼:
import csv
with open('population.csv', 'w') as f:
thewriter = csv.writer(f)
thewriter.writerow(search.text)
這是我在 CSV 文件中的 output。
2| 5|,| 7| 7| 0| (每個 | 表示一個新列)我希望 csv 文件像這樣在一個單元格中寫入 25,770。 也不是必需的,但如果程序實際上也寫了城市名稱,這將很有用。 我做錯了什么?
鑒於您不能拆分,
或
由於您的人口包含逗號和您的城市名稱包含空格。 我們可以通過幾種方式做到這一點。
,
並且
並返回帶有列表slice
的正確 position分裂
search = 'New Smyrna Beach, FL | Data USA 25,770'
with open('test.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow([search.split(',')[0], search.split(' ')[-1]])
正則表達式
import re
with open('test.csv', 'w') as f:
writer = csv.writer(f)
city = re.match(r'^([^,]*)', search).group(0)
population = re.findall(r'(\d+,\d+)', search)[0]
writer.writerow([city, population])
Output
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.