在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

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

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

2025-03-01 17:06:22

思路如下:

  1. 导入csv库;

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

  3. 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) # 读取的
二维数组
薰衣草香

2025-03-01 08:42:56

不知道你的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文件里执行,并且把需要处理的文件也放到同一个目录下,处理起来比较方便
西风不识相

2025-03-01 14:38:59

python的csv模块可用
追问
确实可用,但是只能输出表格内容,却不知道怎么处理表格内容