Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中处理.csv文件数据时出现问题_Python_List_Csv - Fatal编程技术网

在Python中处理.csv文件数据时出现问题

在Python中处理.csv文件数据时出现问题,python,list,csv,Python,List,Csv,我在Ubuntu18.04下使用Python2.7,处理一些来自.csv文件的数据。为了在我的脚本中传递它们,我需要以特定的格式将它们放在列表中。下面是它的外观: data = [('15', '10', '11', '17'), ('18', '18', '17', '18'), ('12', '17', '17', '18'), ('14', '12', '17', '14'), ('15', '11', '19', '17')

我在Ubuntu18.04下使用Python2.7,处理一些来自.csv文件的数据。为了在我的脚本中传递它们,我需要以特定的格式将它们放在列表中。下面是它的外观:

data = [('15', '10', '11', '17'),
        ('18', '18', '17', '18'),
        ('12', '17', '17', '18'),
        ('14', '12', '17', '14'),
        ('15', '11', '19', '17')]
.csv文件中包含的每个“值”都是一系列由()包围的数字,如“('15'、'10'、'11'、'17')”

我的.csv文件如下所示:

('15', '10', '11', '17');
('18', '18', '17', '18');
('12', '17', '17', '18');
('14', '12', '17', '14');
('15', '11', '19', '17')
[[["('18', '18', '17', '18')", ''], ["('12', '17', '17', '18')", ''], ["('14', '12', '17', '14')", ''], ["('15', '11', '19', '17')"], [], []]]
读取csv文件的脚本如下所示:

import csv

data = []

with open('logsTESTII.csv', 'r') as f:
    reader = csv.reader(f, delimiter = ';')
    for row in reader:
        data.append(list(reader))

print (data)
无论我做什么,我都尝试了这个脚本或.csv文件结构的许多变体,我总是得到这样奇怪的结果:

('15', '10', '11', '17');
('18', '18', '17', '18');
('12', '17', '17', '18');
('14', '12', '17', '14');
('15', '11', '19', '17')
[[["('18', '18', '17', '18')", ''], ["('12', '17', '17', '18')", ''], ["('14', '12', '17', '14')", ''], ["('15', '11', '19', '17')"], [], []]]
我只需要一个包含所有数据的列表,一个接一个地用逗号分隔

我怎样才能继续?拜托,这让我发疯了


提前感谢,Pixelle在我看来似乎是您误解了.csv文件索引。文件中的一行如下所示:

(‘15’、‘10’、‘11’、‘17’)

但我认为一行应该是这样的,什么可以解释python做了什么奇怪的事情:

15、10、11、17


诚然,克里斯·福尔。

在我看来,您误解了.csv文件索引。文件中的一行如下所示:

(‘15’、‘10’、‘11’、‘17’)

但我认为一行应该是这样的,什么可以解释python做了什么奇怪的事情:

15、10、11、17


诚然,Chris Foll。

您的文件由元组文本组成,它不是真正格式良好的csv数据。
将比此处的
csv
模块更好地为您服务

演示


您的文件由元组文字组成,它不是真正格式良好的csv数据。
将比此处的
csv
模块更好地为您服务

演示

  • delimiter
    参数指的是每个字段的分隔符,而不是每行。所以这里的分隔符是
    不是
  • 您的文件不是格式良好的csv,因此如果我知道文件的结构并必须创建csv,我会这样做:
  • 打开('logsTESTII.csv')作为f,打开('out.csv','w')作为:
    对于f中的行:
    行=行。替换(“;”,“”)。替换(“),“”)。替换(“(”,“”)
    of.write(行)
    

  • delimiter
    参数指的是每个字段的分隔符,而不是每行。因此这里的分隔符是
    而不是
  • 您的文件不是格式良好的csv,因此如果我知道文件的结构并必须创建csv,我会这样做:
  • 打开('logsTESTII.csv')作为f,打开('out.csv','w')作为:
    对于f中的行:
    行=行。替换(“;”,“”)。替换(“),“”)。替换(“(”,“”)
    of.write(行)
    

    请发布该csv文件的摘录。尝试插入打印(行)在for循环中查看所附加的内容。这应该有助于澄清问题所在。您的CSV数据必须以非标准方式格式化吗?您对输入数据有任何控制吗?我认为整个事情都是一个问题,因为我认为没有人会首先以这种文件格式提供数据。发布一篇来自该c的摘录sv文件。请尝试插入打印(行)在for循环中查看所附加的内容。这应该有助于澄清问题所在。您的CSV数据必须以非标准方式格式化吗?您对输入数据有任何控制吗?我认为整个事情都是一个问题,因为我不认为任何人首先会以这种文件格式提供数据。非常感谢!它工作正常it’很好!以前从未听说过。非常感谢!它工作得很好!以前从未听说过。