0

私のCSVファイルはこちら

これが私のデータ形式です:

1763212493,zhangniuzhang,男性,,はい,(これは中国のコンマであり、英語ではありません)私はそうします,湖北武漢,1763212493,69,86,316,,,tp2.sinaimg.cn/1763212493/50/5613831962/1,0,"無料,家,旅行,80","1863415082,1752861352"

と私のコード:

import csv

with open("test.csv", "r") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print row

非常に単純ですが、次のようになりました。

{'mn': '316', 'ci': '', 'sx': 'male', 'ei': '', 'ad': 'hubei;"wuhan', 'vi': '', 'fui;': 'house', 'de': 'yes\xef\xbc\x8ci do', 'iu': 'tp2.sinaimg.cn/1763212493/50/5613831962/1', 'an': '69', 'un': '1763212493', 'iv': '0', 'sn': 'zhangniuzhang', None: ['trip', '80""', '1863415082', '1752861352"""'], 'tg': 'free', '_id': '1763212493', 'fn': '86'}
{'mn': '1104', 'ci': '', 'sx': 'femail', 'ei': '', 'ad': 'jilin;"changchun', 'vi': '', 'fui;': 'art', 'de': '', 'iu': 'tp2.sinaimg.cn/1854635021/50/1289455604/0', 'an': '71', 'un': '1854635021', 'iv': '0', 'sn': 'ladywang', None: ['reading', 'music""', '1949520584', '1288127940', '1193111400"""'], 'tg': 'life', '_id': '1854635021', 'fn': '258'}

最初のレコードでは にad等しいhubei;"wuhanが、元のファイルには";がない。それは別の列にあります。

多くのフィールドの値が間違っています。最初のレコードの場合:

1763212493,zhangniuzhang,男性,,はい,そうします,湖北武漢,1763212493,69,86,316,,,tp2.sinaimg.cn/1763212493/50/5613831962/1,0,"無料,家,旅行,80"," 1863415082,1752861352"

出力は次のようになります。

{'mn': '316', 'ci': '', 'sx': 'male', 'ei': '', 'ad': 'hubei wuhan', 'vi': '', 'fui': '1863415082,1752861352', 'de': 'yes\xef\xbc\x8ci do', 'iu': 'tp2.sinaimg.cn/1763212493/50/5613831962/1', 'an': '69', 'un': '1763212493', 'iv': '0', 'sn': 'zhangniuzhang', 'tg': 'free,house,trip,80', '_id': '1763212493', 'fn': '86'}   

しかし、出力は混乱しており、正しい順序でも正しい値でもありません。

助言がありますか?

4

1 に答える 1