加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 3.4 import csv delimiter

发布时间:2020-12-20 13:52:58 所属栏目:Python 来源:网络整理
导读:使用 Python 3.4和Im尝试导入csv文件,其中包含逗号,其他包含分号,其他包含选项卡作为分隔符. 是否可以让python检测使用哪个正确的分隔符? 我已经阅读了python: import csv file (delimiter “;” or “,”)的帖子,但无法得到合适的结果. 我的代码到目前为止
使用 Python 3.4和Im尝试导入csv文件,其中包含逗号,其他包含分号,其他包含选项卡作为分隔符.

是否可以让python检测使用哪个正确的分隔符?
我已经阅读了python: import csv file (delimiter “;” or “,”)的帖子,但无法得到合适的结果.

我的代码到目前为止:

import csv

class Data(object):
def __init__(self,csv_file):
    self.raw_data = []
    self.read(csv_file)

def read(self,csv_file):
        with open(csv_file,newline='') as csvfile:
            dialect = csv.Sniffer().sniff(csvfile.read(),delimiters=',;')
            csvfile.seek(0)
            f = csv.reader(csvfile,dialect)
            for row in f:
               self.raw_data.append(row)
            print(self.raw_data)

mycsv = Data('comma_separate.csv')

comma_separate.csv包含:

afsfaf@faf.com,$161,321,True,1
asafasf@fafa.net,$95.00,False,3
adaafa3@aca.com,$952025,3

现在我的输出是:

['afsfaf@faf.com,1'],['asafasf@fafa.net,3'],['adaafa3@aca.com,3']

我想要的输出是:

['afsfaf@faf.com','$161,321','True','1'],['asafasf@fafa.net','$95.00','False','3'],['adaafa3@aca.com','$952025','3']

解决方法

问题似乎是您用来确定分隔符的csv文件的第一行.如果您将行更改为:该程序按预期工作:

afsfaf@faf.com,$161.321,1

我想这是因为他希望你的csv文件中每行有相同数量的属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读