用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下相关的知识,希望对你有一定的参考价值。
输出时,我想单独获取A列信息作为字典的索引,然后将BCD三列合在一起作为字典的值,并去除E列,最后我可以用一个函数处理BCD的值,请求大神不吝赐教!
思路如下:
导入csv库;
打开文件,并用csv库函数reader读入数据;
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) # 读取的二维数组 参考技术A
不知道你的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文件里执行,并且把需要处理的文件也放到同一个目录下,处理起来比较方便
确实可用,但是只能输出表格内容,却不知道怎么处理表格内容
如何将多个csv按行合并?(不是首尾相接的按列合并)
如图,每个csv均含有ABC三列,要求合并之后为行式为ABCABCABCABC……而不是在第一个csv的最后一行,开始第二个csv的数据。谢谢各位
csv是文本格式文件,一般用逗号分隔数据项,可以这样操作,写个小程序,将n个文件分别读入n个列表,假设你的数据量相同,做一个循环,将列表项逐一相连,写入一个新列表,最后导出文本格式为csv就可以了。如果数量不多,且不用重复操作,直接用excel复制粘贴也可以。 参考技术A #看一下zip的用法import csv
import pandas as pd
data_a = pd.read_csv('a.csv', encoding='utf-8')
data_b = pd.read_csv('b.csv', encoding='utf-8')
data_c = list(zip(data_a,data_b))
print(c) 参考技术B 我也想知道咋做,我只知道好多能顺着往下合并 参考技术C 你好,请问这个问题你解决了吗?可以分享下办法吗?
以上是关于用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下的主要内容,如果未能解决你的问题,请参考以下文章