Python、C读写文件

目录

C语言读取文件

C语言写文件

Python读文件

正常读

pandas读 

Python读不太正常的文件

缩进不正常

前几行的数据没用/不对 

读取文件的前几行

Python将所有数据转换成元组列表

设置表头名称

将数据打包转换成元组列表

Python写文件

写文件

解决自动存索引


C语言读取文件

FILE* file=fopen("file_path","r");

fscanf(file,"%d\n",&i);

读a.txt文件

c08f38006f61444da2f1b54aa8fc1912.png

#include <stdio.h>

int main() {
    int x,y,z;
    FILE* file=fopen("./a.txt","r");
    for(int s=0;s<2;s++){
        fscanf(file,"%d%d%d",&x,&y,&z);
        printf("%d\t%d\t%d\n",x,y,z);
    }
}

 d34a230e6c004e03afc9f378478dea75.png

C语言写文件

FILE* file=fopen("file_path","w");

fprintf(file,"%d\n",i);

#include <stdio.h>

int main() {
   // write
   int a=10;
   int b=2;
   int c=66;
   // 写入txt文件
   FILE* file=fopen("./b.txt","w");
   fprintf(file,"%d\t%d\t%d\n",a,b,c);
   // 写入csv文件
   // 注意:csv文件要用逗号分隔
   file=fopen("./c.csv","w");
   fprintf(file,"%d,%d,%d\n",a,b,c);
}

7da480a291424f5f9744e49189445983.png


Python读文件

正常读

file = open('file_path','r')

flines = file.readlines()

file = open('./a.txt','r')
flines = file.readlines()
for line in flines:
    print(line)

f7b547bb86ec42cab29684dfc8f76bc4.png

pandas读 

import pandas as pd

# read_csv可以读txt文件也可以读csv文件

file = pd.read_csv(file_path)

import pandas as pd

# 直接读
data = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt')
# 默认读出来的数据是以逗号分隔的
# sep可以设置分隔符
data1 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt',sep='\t')
# 默认会把第一行读出来的数据设置成表头
# header可以设置表头
data2 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt',sep='\t',header=None)
# 读csv文件的时候分隔符是逗号
data3 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\c.csv',header=None)
print("=====data======")
print(data)
print("=====data1======")
print(data1)
print("=====data2======")
print(data2)
print("=====data3======")
print(data3)

239c576d81e041eb888a6807057f22e1.png


Python读不太正常的文件

缩进不正常

c92b8fa1bcfb4b8e9a5690def2c10554.png

import pandas as pd
# 缩进不正常,有空格还有制表符的数据文件
data4 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt',header=None)
# sep='\s+'表示分隔符为任意长度的空格
data5 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt',sep='\s+',header=None)
print("=====data4======")
print(data4)
print("=====data5======")
print(data5)

a42df8cca3cc4430bb908a22dd867e1e.png

前几行的数据没用/不对 

7fbf12f15bdc4f51ba9b8829aeebe43b.png

# 前几行的数据没用
# skiprows可以选择跳过几行,数值就是想跳几行
data6 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\b.txt',header=None,skiprows=2)
print(data6)

618be0c648c4437abf19228f4d64092d.png

读取文件的前几行

# 读数据文件的第一行
total = pd.read_csv(file_path,header=None,sep='\s+',nrows=1,names=['N'])

Python将所有数据转换成元组列表

设置表头名称

 529a758e897f49c6b8efda2d9c14b48b.png

# names可以设置表头名称
data7 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt',names=['X','Y','Z'],sep='\s+',header=None)
print(data7)

99402689701049ba8a7f1c4846a1e752.png

将数据打包转换成元组列表

# names可以设置表头名称
data7 = pd.read_csv('F:\\vscode\\Python\\practice\\read_file\\a.txt',names=['X','Y','Z'],sep='\s+',header=None)
# print(data7)
# 将数据打包转换成元组列表
data7_list = list(zip(data7['X'],data7['Y'],data7['Z']))
print(data7_list)

21f22ae5eb4a44e18cc21762d4abb612.png


Python写文件

info.to_csv(file_path)

写文件

# 写文件
data_list = [[1,2,3,4],[4,5,6,2]]
# DataFrame中传入列表
info = pd.DataFrame(data_list)
save_data = info.to_csv('F:\\vscode\\Python\\practice\\read_file\\d.txt',header=None,sep='\t')

61915a6f8aa346a1aedeaeeb24771bbd.png

解决自动存索引

写文件的时候会自动把行索引也写进去

# 写文件
data_list = [[1,2,3,4],[4,5,6,2]]
info = pd.DataFrame(data_list)
# index设置索引
save_data = info.to_csv('F:\\vscode\\Python\\practice\\read_file\\d.txt',header=None,sep='\t',index=False)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值