向CSV文件写入多个内容的方法。

1.使用pandas写入内容。 

依托pandas中的DataFrame函数,实现对数据的写入。

这是按列的方法写入CSV文件中,即每个参数保存的是要写入的每列的元素。

下面是一个简单的示例:

import csv
import pandas as pd

list=['0001.jpg',1312,151,1651,1561,1561,51658,100]

index=[]
tupan=[]
x1=[]
x2=[]
x3=[]
x4=[]
x5=[]
x6=[]
x7=[]
list_n=[]
for i in range(100):
    index.append(i)
    tupan.append(list[0])
    x1.append(list[1])
    x2.append(list[2])
    x3.append(list[3])
    x4.append(list[4])
    x5.append(list[5])
    x6.append(list[6])
    x7.append(list[7])

data=pd.DataFrame({'序号':index,'文件名':tupan,'坐标0':x1,'坐标1':x2,'坐标2':x3,'坐标3':x4,'坐标4':x5,'坐标5':x6,'坐标6':x7})

data.to_csv('./data.csv',index=False,encoding='gbk')
保存的CSV文件结果如下:

前面的这一列序号是自动生成的。 

2.依托csv的writerow函数实现

这是按照每行的方式写入,即每个变量中存的是每一行的所有元素。元素可以是任意类型的。

f=open(r'./data.csv','w',encoding='gbk')
r1=csv.writer(f)
header=['a','b','c','d','e']
raw=['nfkasjf.png',323645,'bbbb','de',25.99,888.8558]
r1.writerow(header)
for i in range(100):
    r1.writerow(raw)
f.close()
data=pd.read_csv('./data.csv',encoding='gbk')
print(data)
结果如下:

 这样的方式是一行一行的写入,当然也可以多行直接写入。

代码如下:

f=open(r'./data.csv','w',encoding='gbk')
r1=csv.writer(f)
header=['a','b','c','d','e']
raw=['nfkasjf.png',323645,'bbbb','de',25.99,888.8558]
list=[]
list.append(header)
for i in range(100):
    list.append(raw)
r1.writerows(list)
f.close()
data=pd.read_csv('./data.csv',encoding='gbk')
print(data)

结果如下:

 在写入的过程中,可以根据自己的需要进行修改,核心的代码就是pd.DataFrame函数和csv.writer函数和writerow函数。

3.逐行向TXT文件写入内容

TXT写入的内容是字符串格式的,所以在写入时使用str转换数据类型。

主要的函数是write,fw是打开的文件,write里面的参数就是写入TXT文件的内容,“\n”是换行符。

scr_list=os.listdir('./sourcedata')
print(scr_list)
with open('./test.txt','w',encoding='ANSI') as fw:
    for i in scr_list:
        path="./sourcedata/{}".format(i)
        data=pd.read_csv(path,encoding='ANSI',engine='python')
        data=np.array(data)
        for j in range(len(data)):
            print(j)
            if str(data[j][2])=="无":
                fw.write(str(data[j][1])+ '\n')
            else:
                fw.write(str(data[j][2])+str(data[j][1])+'\n')
            fw.write(str(data[j][3])+'\n')
            fw.write('\n')
fw.close()
 

                
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Pythoncsv模块,它可以提供很多方便的函数,来帮助你实现这个目的。例如,writerow()函数可以用于将行写入csv文件,writerows()函数可以用于将多行写入csv文件,以及writer()函数可以用于写入任意格式的csv文件。 ### 回答2: 要向CSV文件的指定格子写入内容,可以使用Pythoncsv模块来实现。下面是一个简单的示例代码: ```python import csv def write_to_csv(filename, row, column, content): # 打开CSV文件 with open(filename, 'r') as file: # 读取CSV文件内容 data = list(csv.reader(file)) # 检查指定格子是否存在 if row < len(data) and column < len(data[row]): # 修改指定格子的内容 data[row][column] = content else: # 如果指定格子不存在,则添加新行和新列 if row >= len(data): for _ in range(row - len(data) + 1): data.append([]) for i in range(len(data)): if column >= len(data[i]): for _ in range(column - len(data[i]) + 1): data[i].append('') # 在指定格子写入内容 data[row][column] = content # 保存修改后的内容CSV文件 with open(filename, 'w', newline='') as file: writer = csv.writer(file) writer.writerows(data) # 示例:将内容写入第2行第3列的格子 write_to_csv('data.csv', 1, 2, 'Hello, World!') ``` 这段代码打开指定的CSV文件,读取其中的内容到一个二维列表中。然后,根据给定的行号和列号,如果指定的格子已经存在,则修改其内容;如果指定的格子不存在,则添加新行和新列,最后在指定格子中写入内容。最后,将修改后的内容保存回CSV文件中。 ### 回答3: 要向csv文件的指定格写入内容,可以使用Pythoncsv模块来实现。 首先,我们需要导入csv模块: import csv 然后,打开csv文件并创建一个csv写入对象: with open('file.csv', 'w', newline='') as file: writer = csv.writer(file) 创建writer对象后,我们可以使用writerow()方法向指定格子写入内容。假设我们要向第2行的第3列写入内容"Hello",则可以按照以下方式写入: row = [None, None, None] # 创建一个含有3个格子的空行 row[2] = "Hello" # 将第3格的内容设置为"Hello" writer.writerow(row) # 写入csv文件 如果我们要在不同的行、列上写入内容,可以多次使用writerow()方法。比如,要向第4行的第1列写入"CSV",第4行的第2列写入"File",则可以按照以下方式写入: row1 = [None, None] # 创建一个含有2个格子的空行 row1[0] = "CSV" row1[1] = "File" writer.writerow(row1) # 写入csv文件 通过以上步骤,可以成功向csv文件指定格子写入内容。最后,记得关闭csv文件。 file.close() 以上是一种简单的方法,还可以通过使用csv.DictWriter对象来写入csv文件的指定格子。但原理与上述方法类似。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值