怎样读文件储存成字典
Ⅰ 如何把图片的excel转为Python里面的字典
如何将Excel导入Python之中呢?很简单!做法如下:
首先我们要读取excel要用到xlrd模块,官网安装先上官网安装。
然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:
1、导入模块
import xlrd
2、打开Excel文件读取数据
data = xlrd.open_workbook('excel.xls')
3、获取一个工作表
① table = data.sheets()[0] #通过索引顺序获取② table = data.sheet_by_index(0) #通过索引顺序获取③ table = data.sheet_by_name(u'Sheet1')#通过名称获取
4、获取整行和整列的值(返回数组)
table.row_values(i)table.col_values(i)
5、获取行数和列数
table.nrowstable.ncols
6、获取单元格
table.cell(0,0).valuetable.cell(2,3).value
相对来说获取cell比较有用,相当于是给了一个二维数组,剩下的想怎么做都随着自己性子来。这全部归功于代码的简洁实用。若其中仍有若干小坑则花点时间自己琢磨下吧。以下列出的方法供人参考:
1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为 空格。因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全 不同的串了。我的解决方法是给每个获取的字符串都加上strip()处理一下。效果良好2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,网络过一些解决 方案,但是都比较复杂或是没用。最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个 呢不能问题还没解决。
二、写excel表
写excel表要用到xlwt模块,可到官网下载
下载后大致的操作流程如下:
1、导入模块,复制代码代码 :
import xlwt
2、创建workbook,就是excel,这里只需要保存下,然后复制代码:
workbook = xlwt.Workbook(encoding = 'ascii')
3、接着创建表,然后复制代码:
worksheet = workbook.add_sheet('My Worksheet')
4、再往单元格内写入内容,复制代码代码:
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')
5、最后保存,复制代码代码如下:
workbook.save('Excel_Workbook.xls')
以上便是小编对“如何将Excel导入Python之中呢?”的大致介绍,希望能有所帮助!
Ⅱ python如何将字典写入文件(字典中存放的是一些二维数组),再从上述文件读数据到字典
importpickle
dictfile=open("myfile",'wb')
mydict={"a":[[1,2],[3,4]],"b":[[5,6],[7,8]]}
pickle.mp(mydict,dictfile)
dictfile.close()
dictfile=open("myfile",'rb')
readdict=pickle.load(dictfile)
print(readdict)
Ⅲ python读取txt文件并以字典方式存储
def load_parts(fnname): spec = {} with open(fname, 'r') as fn: #此语法在python2.5或以上可以支持 for ii in fn: i = ii.strip().split(',') if len(i) == 3: m = i[2].strip() if m.isdigit(): spec[i[0].strip()] = (i[1].strip(), int(m)) return spec
Ⅳ Python怎么将列表,或者txt文件输出转化为字典啊
读入每一行,按逗号分割,然后存到dict里就可以了。。
对于上一个问题,你把encoding设为utf-8就好了。。
我就帮你把代码写了吧,也算是解决了上一个问题了。。(求采纳orz..)
Code
in
python
3
rate1
=
open('1.txt',
'r',
encoding='utf-8')
dic
=
dict()
for
line
in
rate1:
line
=
line.strip().split(',')
dic[line[0]]
=
line[1]
print(dic)
rate1.close()
Ⅳ python3怎么读取目录下所有txt文件,并将文件名读取顺序保存到字典
import os
result = {}
for f_path,f_dir,f_files in os.walk(绝对目录):
if not f_files:
continue
for f in f_files:
if f.spilt('.')[-1] == 'txt':
result[f] = len(result)
Ⅵ 如何使用python将指定文件里的数据读取到字典里
route('/callback_result', methods = ["POST","GET"])
def callback_result():
try:nm = nmap.PortScanner()
instantiate nmap.PortScanner object
except nmap.PortScannerError:
sys.exit(0)
except:
sys.exit(0)
Ⅶ python 读取txt格式文件 来填写字典
dict_data={}
withopen('dict_2data.txt','r')asdf:
forkvin[d.strip().split('')fordindf]:
dict_data[kv[0]]=kv[1]
printdict_data
Ⅷ 如何使用python将指定文件里的数据读取到字典
list_dict_all=[]#创建一个空列表,全局变量,用来存放字典
defAddtoDict(str_1):#定义一个函数,功能:把文件里面的内容添加到字典中
list_str1=str_1.split(",")#读取的行内容以字符串的形式显示出来,使用‘,’分隔字符串
line_str=[]#创建一个空列表,用来接收去掉' '的行字符串
foriinlist_str1:
x=i.strip(" ")
line_str.append(x)
#print(line_str)
dict_all={}#创建一个空字典
foriteminline_str:#遍历列表中的行内容,列表中有3个元素
ifitem[0:3]=="url":#列表中的元素,前3个字符是否等于“url”
dict={item[0:3]:item[4:]}#dict={'url':'119.23.241.154:8080/futureloan/mvc/api/member/login'}
dict_all.update(dict)#添加dict到空字典dict_all中
#print(dict_all)
else:
dict={item.split(":")[0]:item.split(":")[1]}#除url外,取其他数据key,value到字典中
dict_all.update(dict)
list_dict_all.append(dict_all)#将字典添加到list列表中
deflist_dict(file_1):
file=open(file_1,"r+")
whileTrue:
line=file.readline()
ifline:
AddtoDict(line)
ifnotline:
break
file.close()
print(list_dict_all)
list_dict("test_date.txt")#传入文件路径及名称即可实现将文件中的内容以[{},{}....]的形式输出
test_date.txt里面的内容
url:xx.xx.xx.xx:8080/futureloan/mvc/api/member/login,mobilephone:xxxxxxxxxxx,pwd:123456
url:xx.xx.xx.xx:8080/futureloan/mvc/api/member/login,mobilephone:xxxxxxxxxxx,pwd:123456
Ⅸ Python读取文本内容如何变成字典
123456789101112131415def addtext(txtname,span,insert): txtfile=open(txtname); txt=txtfile.readlines() txt=['auto+'+line for line in txt] txtfile.close() txtfile=open(txtname,'w') i=0 while i+span<len(txt): txtfile.writelines(txt[i:i+span]) txtfile.write(insert) txtfile.write('\n') i+=span txtfile.writelines(txt[i:len(txt)]) txtfile.close()addtext('list.txt',2,'the laber')
每隔两行添加一个the laber,如果希望改变间隔将代码最后一行中间的数字2改变就行了
Ⅹ 如何从本地 读取json文件 并用字典存储起来
Unity 保存Json数据到本地文件(字典)
一、先导入Json 解析库;
二、开始代码的编写;
[csharp] view plain
//命名空间
using System.IO;
using System.Collections.Generic;
using LitJson;
[csharp] view plain
//相关变量声明:
private static string mFolderName;
private static string mFileName;
private static Dictionary<string, string> Dic_Value = new Dictionary<string, string>();
private static string FileName {
get {
return Path.Combine(FolderName, mFileName);
}
}
private static string FolderName {
get {
return Path.Combine(Application.persistentDataPath, mFolderName);
}
}
[csharp] view plain
//初始化方法 如有需要,可重载初始化方法
public static void Init(string pFolderName, string pFileName) {
mFolderName = pFolderName;
mFileName = pFileName;
Dic_Value.Clear();
Read();
}
[csharp] view plain
//读取文件及json数据加载到Dictionary中
private static void Read() {
if(!Directory.Exists(FolderName)) {
Directory.CreateDirectory(FolderName);
}
if(File.Exists(FileName)) {
FileStream fs = new FileStream(FileName, FileMode.Open);
StreamReader sr = new StreamReader(fs);
JsonData values = JsonMapper.ToObject(sr.ReadToEnd());
foreach(var key in values.Keys) {
Dic_Value.Add(key, values[key].ToString());
}
if(fs != null) {
fs.Close();
}
if(sr != null) {
sr.Close();
}
}
}
[csharp] view plain
//将Dictionary数据转成json保存到本地文件
private static void Save() {
string values = JsonMapper.ToJson(Dic_Value);
Debug.Log(values);
if(!Directory.Exists(FolderName)) {
Directory.CreateDirectory(FolderName);
}
FileStream file = new FileStream(FileName, FileMode.Create);
byte[] bts = System.Text.Encoding.UTF8.GetBytes(values);
file.Write(bts,0,bts.Length);
if(file != null) {
file.Close();
}
}
到此,简单的保存方法基本完成了。
三、举例使用;
拿读写字符串为例:
[csharp] view plain
//判断当前是否存在该key值
public static bool HasKey(string pKey) {
return Dic_Value.ContainsKey(pKey);
}
[csharp] view plain
//读取string值
public static string GetString(string pKey) {
if(HasKey(pKey)) {
return Dic_Value[pKey];
} else {
return string.Empty;
}
}
[csharp] view plain
//保存string值
public static void SetString(string pKey, string pValue) {
if(HasKey(pKey)) {
Dic_Value[pKey] = pValue;
} else {
Dic_Value.Add(pKey, pValue);
}
Save();
}