用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下

输出时,我想单独获取A列信息作为字典的索引,然后将BCD三列合在一起作为字典的值,并去除E列,最后我可以用一个函数处理BCD的值,请求大神不吝赐教!

思路如下:

    导入csv库;

    打开文件,并用csv库函数reader读入数据;

    csv读入的数据是一行一行的,所以通过循环语句把读到的数据放入到数组里

import csv # 必要库导入
filepath = 'test.csv' # 定义文件名称,本文件要与当前的.py文件要在同一文件夹下,不然要用绝对路径
with open(filepath,'r') as csvfile: # 打开数据文件
    reader = csv.reader(csvfile) # 用csv的reader函数读取数据文件
    header = next(reader) # 读取数据文件的表头
    data = [] # 定义一个空数组用于保存文件的数据
    for line in reader: # 循环读取数据文件并保存到数组data中
        data.append(line) # line是个一维数组,是数据文件中的一行数据
print(header) # 表头
print(data) # 读取的二维数组

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-20

不知道你的csv行内分隔符是什么,这里假设是逗号。程序处理book1.csv生成book2.txt,代码如下:

content = []
with open('book1.csv', 'r') as fr:
    with open('book2.txt', 'w') as fw:
        content = fr.readlines()
        print(content)
        for line in content:
            line = line.split(',')
            print(line)
            fw.write(line[0] + ',' + line[1] + line[2] + line[3] + '\n')
     fw.close()
 fr.close()

追问

为什么我运行后print没有输出内容,one1.txt里也没有东西

追答

1、是不是版本问题,我用的是python3

2、可能没找到csv文件,把文件名写成绝对路径比如'C:\\File\\Amazon.csv'这样看看
3、最好把python保存在一个py文件里执行,并且把需要处理的文件也放到同一个目录下,处理起来比较方便

本回答被网友采纳
第2个回答  2015-10-20
python的csv模块可用追问

确实可用,但是只能输出表格内容,却不知道怎么处理表格内容