亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

引號與某些字符串一起出現,而不是其他字符串。如何使所有字符串都相同?

引號與某些字符串一起出現,而不是其他字符串。如何使所有字符串都相同?

皈依舞 2021-07-26 17:49:39
我正在將 csv 文件讀入字典,根據需要轉換數據,并將其寫入新的 csv 文件。原始 csv 文件有一列,其中一些字符串(單詞)在雙引號中,而其他字符串不在引號中。像這樣:FOODS;CALS"PIZZA";600"PIZZA";600"BURGERS";500"PIZZA";600PASTA;400"PIZZA";600SALAD;100CHICKEN WINGS;300"PIZZA";600"PIZZA";600在我將此列寫入我的輸出文件后,它看起來像下面的數組,原始 CSV 中帶引號的單詞現在周圍有三個引號,其他沒有:FAVORITE_FOOD;VOTES"""PIZZA""";6"""BURGERS""";1PASTA;1SALAD;1CHICKEN WINGS;1我需要刪除引號,所以我的最終 csv 看起來像這樣:FAVORITE_FOOD;VOTESPIZZA;6BURGERS;1PASTA;1SALAD;1CHICKEN WINGS;1這是我在文件中閱讀的方式:with open(input_data_txt, "r") as file:    # This enables skipping the header line.    skipped = islice(file, 1, None)    for i, line in enumerate(skipped, 2):        try:            food, cals = line.split(';')        except ValueError:            pass這是我的寫作方式:with open(food_txt, 'w') as myfile:    wr = csv.writer(myfile, delimiter=';')    for i in final_array:        wr.writerow(i)
查看完整描述

3 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

三重引號可能由csv模塊添加以轉義現有引號。

所以而不是像這樣的東西:

csvwriter.writeline(food, vote)

嘗試類似:

csvwriter.writeline(food.strip('"'), vote)


查看完整回答
反對 回復 2021-08-03
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

您可以使用csv.DictReader以便按名稱collections.Counter對列進行尋址,使用 a來計算每種食物出現的次數,然后使用相應csv.writer地輸出它們,例如:


import csv

from collections import Counter


with open('input_file') as fin, open('output_file', 'wb') as fout:

    # Count occurrences of each FOODS type

    votes = Counter(row['FOODS'] for row in csv.DictReader(fin, delimiter=';'))

    # Create a csv.writer around the output file and write the header columns

    csvout = csv.writer(fout, delimiter=';')

    csvout.writerow(['FAVORITE_FOOD', 'VOTES'])

    # Write the name and vote counts to the file

    csvout.writerows(votes.items())


查看完整回答
反對 回復 2021-08-03
  • 3 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號