python3 文件读入写出小结

Python3 各种文件格式的转换:

  1 import json
  2 import pymysql
  3 from datetime import datetime
  4 from xlrd import xldate_as_tuple
  5 import xlrd
  6 import xlwt
  7
  8
  9 # 读CSV
 10 def readCSV():
 11     ls = []
 12     with open(‘../ls/textfile/price2016.csv‘, ‘r‘, encoding=‘utf-8‘) as in_csv:
 13         for line in in_csv:
 14             line = line.replace(‘\n‘, ‘‘)
 15             ls.append(line.split(‘,‘))
 16     return ls
 17
 18
 19 # 写csv
 20 def writeCSV(ls):
 21     out_csv = open(‘../ls/textfile/out_csv‘, ‘w‘, encoding=‘utf-8‘)
 22     for i in range(len(ls)):
 23         out_csv.write(‘,‘.join(ls[i]) + ‘\n‘)
 24     print("写入成功!")
 25
 26
 27 # 读json
 28
 29 def readJson():
 30     in_json = open(‘../ls/textfile/price2016.json‘, ‘r‘)
 31     ls = json.load(in_json)
 32     # print(ls)
 33     data = list(ls[0].keys())
 34     for item in ls:
 35         data.append(list(item.values()))
 36     in_json.close()
 37     for item in data:
 38         print(‘ ‘.join(item) + ‘\n‘)
 39     print(‘读入json完成‘)
 40
 41
 42 # 写json
 43
 44 def writeJson(ls):
 45     out_json = open(‘../ls/textfile/out_price2016.json‘, ‘w‘)
 46     for i in range(1, len(ls)):
 47         ls[i] = dict(zip(ls[0], ls[i]))
 48     json.dump(ls[1:], out_json, sort_keys=True, indent=4, ensure_ascii=False)
 49     out_json.close()
 50
 51
 52 # 读TEXT
 53 def readText():
 54     in_text = open(‘../ls/textfile/test_text.txt‘, ‘r‘)
 55     for line in in_text.readlines():
 56         print(line)
 57     print(‘input OK!‘)
 58
 59
 60 # 写TEXT
 61 def writeText(ls):
 62     out_text = open(‘../ls/textfile/out_text.txt‘, ‘w‘)
 63     for i in range(len(ls)):
 64         out_text.write(‘ ‘.join(ls[i]) + ‘\n‘)
 65
 66
 67 # 读sql文件
 68 def readsql():
 69     cursor, db = login()
 70     sql = "select * from course"
 71     doit(sql, cursor, db)
 72     data = cursor.fetchall()
 73     for d in data:
 74         print(‘编号:‘, d[0], end=‘\t‘)
 75         print(‘名称:‘, d[1], end=‘\t‘)
 76         print(‘地点:‘, d[2], end=‘\t‘)
 77         print(‘时长:‘, d[3], end=‘\t‘)
 78         print(‘考试时间:‘, d[4], end=‘\t‘)
 79         print("\n")
 80     db.close()
 81
 82
 83 # 写sql文件
 84 def writesql(file):
 85     cursor, db = login()
 86     fw = open(‘../ls/textfile/‘ + file, ‘r‘, encoding="utf-8")
 87     for line in fw:
 88         line = line.replace(‘ ‘, ‘,‘)
 89         ans = line.split(‘,‘)
 90         print(ans[0], ans[1], ans[2], ans[3], ans[4])
 91         sql = "insert into course(`number`,`name`,place,duration,examTime) values (‘{}‘,‘{}‘,‘{}‘,‘{}‘,‘{}‘)".format(ans[0],
 92                                                                                                                  ans[1],
 93                                                                                                                  ans[2],
 94                                                                                                                  ans[3],
 95                                                                                                                  ans[4])
 96         doit(sql, cursor, db)
 97
 98
 99
100 # 读excel文件
101 def readexcel():
102     cur, db = login()
103     data = xlrd.open_workbook("../ls/textfile/test.xlsx", "r")
104     sheet = data.sheet_by_index(0)
105     for i in range(1, int(sheet.nrows)):
106         ans = sheet.row_values(i)
107         print(ans[0], ans[1], ans[2], ans[3], ans[4])
108         sql = "insert into course(`number`,`name`,place,duration,examTime) values (‘{}‘,‘{}‘,‘{}‘,‘{}‘,‘{}‘)".format(ans[0],
109                                                                                                                  ans[1],
110                                                                                                                  ans[2],
111                                                                                                                  ans[3],
112                                                                                                                  ans[4])
113         doit(sql, cur, db)
114
115
116 def writeexcel(ls):
117     cur, db = login()
118     sql = ‘select * from course‘
119     cur.execute(sql)
120     fileds = [filed[0] for filed in cur.description] #列表生成式,所有字段
121     all_data = cur.fetchall() #所有数据
122     book = xlwt.Workbook()
123     sheet = book.add_sheet(‘sheet1‘)
124     col = 0
125     for filed in fileds:
126         sheet.write(0, col, filed)
127         col += 1
128
129     row = 1
130
131     for data in all_data:
132         for col, field in enumerate(data):  # 控制列数
133             sheet.write(row, col, field)
134         row += 1  # 每次写完一行,行数加1
135     book.save(‘../ls/textfile/%s.xls‘ %ls)
136     # pass
137
138 def login():
139     db = pymysql.Connect(host="localhost", user="root", password="XXXXX", db="pythontest")
140     cur = db.cursor()
141     cur.execute("use students")
142     return cur, db
143
144
145 def doit(sql, cur, db):
146     try:
147         # 执行sql语句
148         cur.execute(sql)
149         # 提交到数据库执行
150         db.commit()
151     except:
152         # 如果发生错误则回滚
153         db.rollback()
154
155 if __name__ == ‘__main__‘:
156     # ls = readCSV()
157     # writeCSV(ls)
158     # readJson()
159     # writeJson(ls)
160     # readText()
161     # writeText(ls)
162     # readsql()
163     # file = "sql.txt"
164     # writesql(file)
165     # readexcel()
166     ls = "course"
167     writeexcel(ls)

原文地址:https://www.cnblogs.com/zllwxm123/p/10087533.html

时间: 2024-10-09 15:28:50

python3 文件读入写出小结的相关文章

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.

RandomAccessFileDemo3~4 向文件中读写出一组字节的方法

RandomAccessFileDemo3  向文件中写出一组字节的方法 /** *    文件操作 --- RandomAccessFile * *    RandomAccessFile提供了一个可以向文件中写出一组字节的方法: *    void write(byte[] bytesArr) 将给定的字节数组中所有字节一次性写出 与该方法相似的还有一个常用方法: void write(byte[] bytesArr,int offset,int len) 该方法会根据当前指针所在位置处连续

做一个具有图片读入,写出,灰度化,黑白化的有图形界面的小软件

我们这一次的树莓基础的作业是做一个做一个具有图片读入,写出,灰度化,黑白化的小软件,我采用的是java,因为java有大量性能非常好的接口可用,譬如在图片这块,ImageIO,BufferedImage都是非常好用的,而我这一次作业也是使用这两个包. 首先我们要解决的是界面,界面可以直接用JFrame来打, 非常简单,我的界面有一个菜单栏和一个图片显示区,菜单栏有三个选项:文件,转换,保存,文件菜单有一个子菜单:打开文件,转换菜单有两个子菜单:变成灰度和变成黑白,保存菜单有三个子菜单:jpg,

一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数

4个字节表示的整数,总共只有2^32约等于4G个可能.为了简单起见,可以假设都是无符号整数.分配500MB内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0.基本思想每读入一个数,就把它对应的bit位置为1,处理完40G个数后,对500M的内存遍历,找出一个bit为0的位,输出对应的整数就是未出现的.算法流程:1)分配500MB内存buf,初始化为02)unsigned int x=0x1;  for each int j in file  buf=buf|x<<j;  e

将基因组数据分类并写出文件,python,awk,R data.table速度PK

由于基因组数据过大,想进一步用R语言处理担心系统内存不够,因此想着将文件按染色体拆分,发现python,awk,R 语言都能够非常简单快捷的实现,那么速度是否有差距呢,因此在跑几个50G的大文件之前,先用了244MB的数据对各个脚本进行测试,并且将其速度进行对比. 首先是awk处理,awk进行的是逐行处理,具有自己的语法,具有很大的灵活性,一行代码解决,用时24S, 1 #!/usr/bin/sh 2 function main() 3 { 4 start_tm=date 5 start_h=`

java实现读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字

今天看到一篇文章:[原始链接] 题目是"读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字",是用c语言实现的.由于我目前正在学习java,所以想用java来实现下. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格. import java.io.BufferedReader; import java.io.IOException

读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字.★☆ 读入一个整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字.★★ 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格.  输入样例:  1234567890987654321123456789  输出样例:  yi san wu #include<stdio.h> #incl

写出文件到本地

File file = new File("C:/Users/dao/Desktop/file.html"); //指定要写到那个文件. if (!file.exists()) { //检测是否存在,不存在,新建文件 try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { FileOutputStream

写出文件、读取文件、格式化写出和读取文件

1. 写出文件 #include <stdio.h> main() { FILE * f=fopen("data.txt","w"); if(f!=NULL) //quan xian { //fputc('A',f); fputs("hello world",f); fclose(f); } else { puts("File can not create"); puts("end"); } 2